中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python異常處理、自定義異常、斷言原理與用法分析

發布時間:2020-08-31 23:41:05 來源:腳本之家 閱讀:308 作者:隨風行云 欄目:開發技術

本文實例講述了python異常處理、自定義異常、斷言原理與用法。分享給大家供大家參考,具體如下:

什么是異常:

  • 當程序遭遇某些非正常問題的時候就會拋出異常:比如int()只能處理能轉化成int的對象,如果傳入一個不能轉化的對象就會報錯并拋出異常python異常處理、自定義異常、斷言原理與用法分析
  • 常用的異常有:

ValueError :傳入無效的錯誤的參數python異常處理、自定義異常、斷言原理與用法分析

TypeError:進行了對類型無效的操作python異常處理、自定義異常、斷言原理與用法分析

IndexError:序列中沒有此索引python異常處理、自定義異常、斷言原理與用法分析

NameError:使用未定義的變量python異常處理、自定義異常、斷言原理與用法分析

 

更多更具體的異常可以參考Python官方文檔python異常處理、自定義異常、斷言原理與用法分析,讀讀官方文檔更健康


異常的處理:

  • python使用try,except,finally,else來處理異常,它們各自意義如下:

python異常處理、自定義異常、斷言原理與用法分析

try:
  s=input("請輸入要int的字符串:")
  i=int(s)
except ValueError as e:
  print(e)
else:
  print("這里是當沒有發生異常時的操作")
finally:
  print("這里是即使發生異常也會執行的代碼")

"""第一次運行結果:
請輸入要int的字符串:123
這里是當沒有發生異常時的操作
這里是即使發生異常也會執行的代碼
"""
"""第二次運行結果
請輸入要int的字符串:abc
invalid literal for int() with base 10: 'abc'
這里是即使發生異常也會執行的代碼
"""
  • except可以在一條except里捕獲多個異常,但需要用括號包裹多個異常,并且即使同時捕獲多個異常,由于異常會導致程序發生終止,所以只會捕獲到一個異常,所以只需要一個獲取異常返回對象的變量:python異常處理、自定義異常、斷言原理與用法分析
  • 如果不確定捕獲什么異常,可以使用異常的基類Exception【更高級的可以使用BaseException】,并且最好把Exception放在所有except的最后:python異常處理、自定義異常、斷言原理與用法分析

自定義異常:

  • 使用raise可以拋出自定義的異常信息python異常處理、自定義異常、斷言原理與用法分析
  • 只要繼承了Exception,就可以定義自己的異常類:python異常處理、自定義異常、斷言原理與用法分析
class myException(Exception):
  def __init__(self,msg):
     self.message=msg
  def __str__(self):###這里就是異常的字符串信息
    return self.message

try :
  raise myException("我的異常")#py3

except myException as e:
  print(e)
  
"""
結果:
我的異常
"""

斷言:

  • 意義:與其讓程序在運行最崩潰,不如在出現錯誤條件時就崩潰【比如說,老司機想要開車,隨便開車風險很大的,使用斷言就好像先判斷路況如何,然后再開車,而不是說開車出去才發現交警大隊在等待】
police=False
assert police ==False
print("老司機開車啦,嗚嗚嗚")

police=True
assert police ==False
print("老司機開車啦,嗚嗚嗚")#報錯,AssertionError

更多Python相關內容感興趣的讀者可查看本站專題:《Python入門與進階經典教程》、《Python字符串操作技巧匯總》、《Python列表(list)操作技巧總結》、《Python編碼操作技巧總結》、《Python數據結構與算法教程》、《Python函數使用技巧總結》及《Python文件與目錄操作技巧匯總》

希望本文所述對大家Python程序設計有所幫助。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

海门市| 平远县| 黄石市| 永清县| 大厂| 龙里县| 桂平市| 潮州市| 辽宁省| 科尔| 濮阳县| 和龙市| 衡南县| 哈尔滨市| 兴仁县| 冀州市| 新沂市| 慈利县| 卓尼县| 高清| 长乐市| 简阳市| 东乡族自治县| 鹤岗市| 临江市| 永顺县| 常宁市| 郸城县| 宁海县| 宝山区| 延庆县| 格尔木市| 泽库县| 余干县| 绍兴县| 兴和县| 峨边| 象州县| 卢湾区| 大关县| 辽阳市|