您好,登錄后才能下訂單哦!
本篇內容介紹了“python異常的捕捉和補救的用法”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
第一個符合條件的except語句會被執行,用于報告錯誤。如果僅僅是報告錯誤,程序依然會停止。
a = 0 try: b = 5/a except ZeroDivisionError: print('Error: a不能為0') except ValueError: print('Error: 傳入參數無效')
except語句后面Exception表示捕獲任何異常類型。
a = 0 try: b = 5/a except Exception: print('a不能為0')
except語句后面對可能的異常進行補救,比如預設文件地址找不到時,要求手動指定文件地址。
a = 0 try: b = 5/a except: b = 0
知識點擴展:
內置異常類的層次結構
BaseException # 所有異常的基類
+-- SystemExit # 解釋器請求退出
+-- KeyboardInterrupt # 用戶中斷執行(通常是輸入^C)
+-- GeneratorExit # 生成器(generator)發生異常來通知退出
+-- Exception # 常規異常的基類
+-- StopIteration # 迭代器沒有更多的值
+-- StopAsyncIteration # 必須通過異步迭代器對象的__anext__()方法引發以停止迭代
+-- ArithmeticError # 各種算術錯誤引發的內置異常的基類
| +-- FloatingPointError # 浮點計算錯誤
| +-- OverflowError # 數值運算結果太大無法表示
| +-- ZeroDivisionError # 除(或取模)零 (所有數據類型)
+-- AssertionError # 當assert語句失敗時引發
+-- AttributeError # 屬性引用或賦值失敗
+-- BufferError # 無法執行與緩沖區相關的操作時引發
+-- EOFError # 當input()函數在沒有讀取任何數據的情況下達到文件結束條件(EOF)時引發
+-- ImportError # 導入模塊/對象失敗
| +-- ModuleNotFoundError # 無法找到模塊或在在sys.modules中找到None
+-- LookupError # 映射或序列上使用的鍵或索引無效時引發的異常的基類
| +-- IndexError # 序列中沒有此索引(index)
| +-- KeyError # 映射中沒有這個鍵
+-- MemoryError # 內存溢出錯誤(對于Python 解釋器不是致命的)
+-- NameError # 未聲明/初始化對象 (沒有屬性)
| +-- UnboundLocalError # 訪問未初始化的本地變量
+-- OSError # 操作系統錯誤,EnvironmentError,IOError,WindowsError,socket.error,select.error和mmap.error已合并到OSError中,構造函數可能返回子類
| +-- BlockingIOError # 操作將阻塞對象(e.g. socket)設置為非阻塞操作
| +-- ChildProcessError # 在子進程上的操作失敗
| +-- ConnectionError # 與連接相關的異常的基類
| | +-- BrokenPipeError # 另一端關閉時嘗試寫入管道或試圖在已關閉寫入的套接字上寫入
| | +-- ConnectionAbortedError # 連接嘗試被對等方中止
| | +-- ConnectionRefusedError # 連接嘗試被對等方拒絕
| | +-- ConnectionResetError # 連接由對等方重置
| +-- FileExistsError # 創建已存在的文件或目錄
| +-- FileNotFoundError # 請求不存在的文件或目錄
| +-- InterruptedError # 系統調用被輸入信號中斷
| +-- IsADirectoryError # 在目錄上請求文件操作(例如 os.remove())
| +-- NotADirectoryError # 在不是目錄的事物上請求目錄操作(例如 os.listdir())
| +-- PermissionError # 嘗試在沒有足夠訪問權限的情況下運行操作
| +-- ProcessLookupError # 給定進程不存在
| +-- TimeoutError # 系統函數在系統級別超時
+-- ReferenceError # weakref.proxy()函數創建的弱引用試圖訪問已經垃圾回收了的對象
+-- RuntimeError # 在檢測到不屬于任何其他類別的錯誤時觸發
| +-- NotImplementedError # 在用戶定義的基類中,抽象方法要求派生類重寫該方法或者正在開發的類指示仍然需要添加實際實現
| +-- RecursionError # 解釋器檢測到超出最大遞歸深度
+-- SyntaxError # Python 語法錯誤
| +-- IndentationError # 縮進錯誤
| +-- TabError # Tab和空格混用
+-- SystemError # 解釋器發現內部錯誤
+-- TypeError # 操作或函數應用于不適當類型的對象
+-- ValueError # 操作或函數接收到具有正確類型但值不合適的參數
| +-- UnicodeError # 發生與Unicode相關的編碼或解碼錯誤
| +-- UnicodeDecodeError # Unicode解碼錯誤
| +-- UnicodeEncodeError # Unicode編碼錯誤
| +-- UnicodeTranslateError # Unicode轉碼錯誤
+-- Warning # 警告的基類
+-- DeprecationWarning # 有關已棄用功能的警告的基類
+-- PendingDeprecationWarning # 有關不推薦使用功能的警告的基類
+-- RuntimeWarning # 有關可疑的運行時行為的警告的基類
+-- SyntaxWarning # 關于可疑語法警告的基類
+-- UserWarning # 用戶代碼生成警告的基類
+-- FutureWarning # 有關已棄用功能的警告的基類
+-- ImportWarning # 關于模塊導入時可能出錯的警告的基類
+-- UnicodeWarning # 與Unicode相關的警告的基類
+-- BytesWarning # 與bytes和bytearray相關的警告的基類
+-- ResourceWarning # 與資源使用相關的警告的基類。被默認警告過濾器忽略。
“python異常的捕捉和補救的用法”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。