1. 程式人生 > 其它 >資料分析作業——Numpy(第4次作業)

資料分析作業——Numpy(第4次作業)

技術標籤:PYTHONpython

目錄

  1. 異常
  2. 異常處理
  3. 觸發異常
  4. 異常型別

1、異常

異常是程式發生錯誤的訊號。程式一旦出現錯誤,便會產生一個異常,若程式中沒有處理它,就會丟擲該異常,程式的執行也隨之終止。

在這裡插入圖片描述

2、異常處理

為了保證程式的容錯性與可靠性,即在遇到錯誤時有相應的處理機制不會任由程式崩潰掉,我們需要對異常進行處理。

1、單個報錯處理語法:
try:
    被檢測的程式碼塊
except 異常型別:
    檢測到異常,就執行這個位置的邏輯

try:
    print(x) 				# 引用了一個不存在的名字,觸發異常NameError
except NameError as
e: # as語法將異常型別的值賦值給變數e,這樣我們通過列印e便可以知道錯誤的原因 print('異常錯誤:%s' %e) print('正常執行!') # 結果 異常錯誤:name 'x' is not defined 正常執行! 2、多個報錯處理語法 try: 被檢測的程式碼塊 except NameError: 觸發NameError時對應的處理邏輯 except IndexError: 觸發IndexError時對應的處理邏輯 except KeyError: 觸發KeyError時對應的處理邏輯 # 簡寫成 try: 被檢測的程式碼塊 except
(NameError,IndexError,TypeError): 觸發NameError或IndexError或TypeError時對應的處理邏輯 3、萬能報錯處理語法: try: 被檢測的程式碼塊 except Exception: # Exception捕獲任意報錯 觸發Exception時對應的處理邏輯 4else用法 try: 被檢測的程式碼塊 except 異常型別1: pass except 異常型別2: pass ...... else: 沒有異常發生時執行的程式碼塊 5finally用法 try: 被檢測的程式碼塊 except
異常型別1: pass except 異常型別2: pass ...... else: 沒有異常發生時執行的程式碼塊 finally: 無論有無異常發生都會執行的程式碼塊

3、觸發異常

raise語句自己觸發異常

語法:
raise 錯誤型別(錯誤資訊)
"""
錯誤型別:可選引數,不寫則不顯示
錯誤資訊:可選引數,不寫則不顯示
"""

try:
    raise Exception('這是個錯誤!')		# 製造報錯
except Exception as f:					# 捕獲報錯
    print(f)    
print('正常執行!')
# 結果
這是個錯誤!
正常執行!

4、異常型別

異常名稱 : 描述
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 : 尚未實現的方法 SyntaxError : Python 語法錯誤
IndentationError : 縮排錯誤 TabError :Tab 和空格混用 SystemError : 一般的直譯器系統錯誤
TypeError : 對型別無效的操作 ValueError : 傳入無效的引數 UnicodeError : Unicode 相關的錯誤
UnicodeDecodeError : Unicode 解碼時的錯誤 UnicodeEncodeError : Unicode 編碼時錯誤
UnicodeTranslateError : Unicode 轉換時錯誤 Warning : 警告的基類
DeprecationWarning : 關於被棄用的特徵的警告 FutureWarning : 關於構造將來語義會有改變的警告
OverflowWarning : 舊的關於自動提升為長整型(long)的警告
PendingDeprecationWarning : 關於特性將會被廢棄的警告
RuntimeWarning : 可疑的執行時行為(runtime behavior)的警告
SyntaxWarning : 可疑的語法的警告 UserWarning : 使用者程式碼生成的警告