異常總結

異常總結

異常:就是不正常的情況,程序開發過程中錯誤和BUG都是補充正常的情況。

不正常的情況有自己寫錯代碼,導致程序運行不起來,或者進行某種操作的時候,不合適的數據引起程序崩潰,比如需要用戶輸入數字的時候,用戶輸入了字符串,在進行類型轉換的時候就會出現錯誤,導致程序崩潰。

異常發生的后果就是程序崩潰。處理異常,在運行的程序過程中,由于用戶的誤操作或者不合適的數據導致程序崩潰,讓代碼自己處理并保證程序的正常執行,而不至于因為錯誤導致程序的崩潰,提高代碼的健壯性!

處理異常(容錯):包容出現的不正常的錯誤,保證程序的正常運行。處理異常的方式有:try except:異常捕獲處理assertions:斷言處理

try:

可能出現異常的代碼

except:

一旦出現異常執行的代碼

else:

沒有異常執行的代碼

finally:

不論是否有異常都會執行的代碼

異常處理的步驟:讓錯誤充分的暴露出來

定位異常:定位錯誤出現的位置

處理異常:try包含,except處理

基本異常處理:try-except直接處理異常【可以處理任何異常,不能定位具體是什么異常】try-except(異常信息)【可以處理指定的異常】

常見的異常

所有異常的超類:BaseException

標準異常的超類:Exception(BaseException)

程序執行過程中經常看到的異常:

BaseException所有異常的基類

SystemExit解釋器請求退出

KeyboardInterrupt用戶中斷執行(通常是輸入^C)

Exception常規錯誤的基類

StopIteration迭代器沒有更多的值

GeneratorExit生成器(generator)發生異常來通知退出

StandardError所有的內建標準異常的基類

ArithmeticError所有數值計算錯誤的基類

FloatingPointError浮點計算錯誤

OverflowError數值運算超出最大限制

ZeroDivisionError除(或取模)零(所有數據類型)

AssertionError斷言語句失敗

AttributeError對象沒有這個屬性

EOFError沒有內建輸入,到達EOF標記

EnvironmentError操作系統錯誤的基類

IOError輸入/輸出操作失敗

OSError操作系統錯誤

WindowsError系統調用失敗

ImportError導入模塊/對象失敗

LookupError無效數據查詢的基類

IndexError序列中沒有此索引(index)

KeyError映射中沒有這個鍵

MemoryError內存溢出錯誤(對于Python解釋器不是致命的)

NameError未聲明/初始化對象(沒有屬性)

UnboundLocalError訪問未初始化的本地變量

ReferenceError弱引用(Weak reference)試圖訪問已經垃圾回收了的對象

RuntimeError一般的運行時錯誤

NotImplementedError尚未實現的方法

SyntaxErrorPython語法錯誤

IndentationError縮進錯誤

TabErrorTab和空格混用

SystemError一般的解釋器系統錯誤

TypeError對類型無效的操作

ValueError傳入無效的參數

UnicodeErrorUnicode相關的錯誤

UnicodeDecodeErrorUnicode解碼時的錯誤

UnicodeEncodeErrorUnicode編碼時錯誤

UnicodeTranslateErrorUnicode轉換時錯誤

Warning警告的基類

DeprecationWarning關于被棄用的特征的警告

FutureWarning關于構造將來語義會有改變的警告

OverflowWarning舊的關于自動提升為長整型(long)的警告

PendingDeprecationWarning關于特性將會被廢棄的警告

RuntimeWarning可疑的運行時行為(runtime behavior)的警告

SyntaxWarning可疑的語法的警告UserWarning用戶代碼生成的警告

通常查看異常信息,就需要打印異常信息,將異常信息賦值給一個變量,打印該變量即可系統提供的異常信息--晦澀難懂 ??系統提供的異常信息--非常有限

我們可以自定義異常

異常可以看成一個對象

自定義的異常可以看成類型

主動拋出異常,在開發過程中,主動地出現一種錯誤,將錯誤拋給程序,告訴程序在這里出錯,通過raise關鍵字來拋出異常

自定義異常,就是專門為了拋出異常,拋出錯誤,警告這里出現了問題

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 異常總結 異常:就是不正常的情況,程序開發過程中錯誤和BUG都是補充正常的情況。 不正常的情況有自己寫錯代碼,導致...
    Newthan閱讀 232評論 0 0
  • 本節內容如下: 什么是異常,對異常的解釋和描述,口語描述和專業術語的聯系 代碼中出現錯誤的處理手段 異常處理方式什...
    大牧莫邪閱讀 757評論 0 0
  • Python異常處理 異常概念: 異常:就是不正常的情況,程序開發過程中錯誤和BUG都是補充正常的情況 異常發生的...
    youngkun閱讀 943評論 0 4
  • 2. 自學該怎么學?有沒有入門書籍推薦? 首先,對于一個新手來說,最好的學習方法應該是系統學習(我覺得無論哪科知識...
    laozhao閱讀 1,207評論 0 0
  • 最近4個月內閱讀了一些有關時間管理的書,有些就只是翻閱或瀏覽而已,比如《向會議要效益2:視覺化你的會議》,是午飯后...
    呆呆六六閱讀 490評論 0 0