2019/2/18 Python今日收穫

Python day15——032,033異常處理:你不可能老是對的

1.編碼

Python標準異常總結



 

AssertionError 斷言語句(assert)失敗
AttributeError 嘗試訪問未知的對象屬性
EOFError 用戶輸入文件末尾標誌EOF(Ctrl+d)
FloatingPointError 浮點計算錯誤
GeneratorExit generator.close()方法被調用的時候
ImportError 導入模塊失敗的時候
IndexError 索引超出序列的範圍
KeyError 字典中查找一個不存在的關鍵字
KeyboardInterrupt 用戶輸入中斷鍵(Ctrl+c)
MemoryError 內存溢出(可經過刪除對象釋放內存)
NameError 嘗試訪問一個不存在的變量
NotImplementedError 還沒有實現的方法
OSError 操做系統產生的異常(例如打開一個不存在的文件)
OverflowError 數值運算超出最大限制
ReferenceError 弱引用(weak reference)試圖訪問一個已經被垃圾回收機制回收了的對象
RuntimeError 通常的運行時錯誤
StopIteration 迭代器沒有更多的值
SyntaxError Python的語法錯誤
IndentationError 縮進錯誤
TabError Tab和空格混合使用
SystemError Python編譯器系統錯誤
SystemExit Python編譯器進程被關閉
TypeError 不一樣類型間的無效操做
UnboundLocalError 訪問一個未初始化的本地變量(NameError的子類)
UnicodeError Unicode相關的錯誤(ValueError的子類)
UnicodeEncodeError Unicode編碼時的錯誤(UnicodeError的子類)
UnicodeDecodeError Unicode解碼時的錯誤(UnicodeError的子類)
UnicodeTranslateError Unicode轉換時的錯誤(UnicodeError的子類)
ValueError 傳入無效的參數
ZeroDivisionError 除數爲零

2.異常的檢測和處理:①spa

try:
    檢測範圍
except Exception[as reason]:
    出現異常(Exception)後的處理代碼

as reason去掉中括號便可,reason是一個變量名,存放錯誤緣由,在後面能夠經過reason變量將其輸出出來。操作系統

程序一旦出現異常,剩下的語句將不會被執行。code

也能夠一次性檢測處理多個異常,用元組的方式存儲。如對象

except (ValueError,OSError):
        print(‘出錯啦’)

 

blog

try:
    檢測範圍
except Exception[as reason]:
    出現異常(Exception)後的處理代碼
finally:
    不管如何都會被執行的代碼

好比在try中寫入文件,可是若出現異常,可能會致使寫入的內容沒法保存,這時候就能夠應用finally來關閉文件以保存寫入的內容。索引

相關文章
相關標籤/搜索