try...except...finally
這是 python 中最常用的異常處理結構,用於捕獲異常並執行相應的處理邏輯。 try 區塊包含要執行的程式碼,except 區塊包含捕獲異常後的處理邏輯,finally 區塊包含無論是否發生異常都會執行的程式碼。例如:
try: # 执行代码 except Exception as e: # 捕获异常并处理 finally: # 无论是否发生异常都会执行的代码
raise
#raise 語句用於拋出例外,可以指定要拋出的例外類型和例外資訊。例如:
raise ValueError("无效的参数值")
assert
assert 語句用來檢查某個條件是否成立,如果不成立則拋出 AssertionError 例外。例如:
assert x > 0, "x must be greater than 0"
自訂例外狀況
#你可以建立自己的異常類,繼承自 Exception 類別。例如:
class MyError(Exception): pass raise MyError("我的错误")
使用 logging 模組記錄異常
logging 模組可以用來記錄異常資訊。例如:
import logging try: # 执行代码 except Exception as e: logging.error("发生异常", exc_info=True)
使用上下文管理器處理異常
上下文管理器是一種用來簡化異常處理的機制。例如:
with open("file.txt", "r") as f: # 执行代码
如果在 with 區塊中發生異常,則會自動關閉檔案 f。
使用異常來控製程式流程
異常也可以用來控製程式流程。例如,你可以使用異常來實現循環或分支。例如:
while True: try: # 执行代码 except KeyboardInterrupt: break
使用異常來進行單元測試
異常也可以用來進行單元測試。例如,你可以使用異常來檢查函數是否拋出了正確的異常。例如:
import unittest class MyTestCase(unittest.TestCase): def test_my_function(self): with self.assertRaises(ValueError): my_function(-1)
上述技巧可以幫助你更好地處理異常,提高程式碼的健全性。
以上是Python 異常處理技巧大公開,幫助你成為程式設計高手的詳細內容。更多資訊請關注PHP中文網其他相關文章!