當無法匯入模組或模組的成員時,會引發 ImportError。ImportError 可能在兩種情況下引發。如果模組不存在。示例import sys try: from exception import myexception except Exception as e: print e print sys.exc_type輸出No module named exception 如果使用 from X import Y 並且在模組 X 中找不到 Y,則會引發 ImportError。示例 import sys try: from time import datetime except Exception as e: print e print sys.exc_type輸出 cannot import name datetime
當除法運算的分母中出現零時,會引發 ZeroDivisionError。我們如下重寫給定的程式碼以處理異常並查詢其型別。示例import sys try: x = 11/0 print x except Exception as e: print sys.exc_type print e輸出integer division or modulo by zero
當函式接收具有正確型別但無效值的 value 時,使用 ValueError。給定的程式碼可以按如下方式重寫以處理異常並查詢其型別。示例import sys try: n = int('magnolia') except Exception as e: print e print sys.exc_type輸出invalid literal for int() with base 10: 'magnolia'
LookupError 異常是當找不到某些內容時引發的錯誤的基類。當對映或序列上使用的鍵或索引無效時引發的異常的基類:IndexError、KeyError。當序列引用超出範圍時,會引發 IndexError。給定的程式碼如下重寫,以捕獲異常並查詢其型別示例import sys try: foo = [a, s, d, f, g] print foo[5] except IndexError as e: print e print sys.exc_type輸出C:/Users/TutorialsPoint1~.py list index out of range