#1. 理解異常
#異常是指程式運作期間發生的錯誤或異常情況,可能由各種原因引起,例如:
2. Python 例外處理機制
python 提供了異常處理機制來處理程式執行期間發生的異常,它主要包括try
、except
和finally
三個語句。
try
語句區塊用來指定要嘗試執行的程式碼。 except
語句區塊用來指定當 try
語句區塊中發生異常時要執行的程式碼。 finally
語句區塊用來指定無論 try
語句區塊是否發生異常,都要執行的程式碼。 3. 程式碼範例
## 导入异常处理模块 import sys # 定义一个函数来读取文件 def read_file(filename): # 使用 try 语句块来捕获异常 try: # 打开文件 with open(filename, "r") as f: # 读取文件内容 data = f.read() # 关闭文件 f.close() # 使用 except 语句块来处理异常 except FileNotFoundError: # 文件不存在时,打印错误信息 print("Error: File not found.") # 使用 finally 语句块来释放资源 finally: # 无论是否发生异常,都关闭文件 f.close() # 调用函数来读取文件 read_file("data.txt")
在上面的範例中,try
語句區塊用於嘗試開啟和讀取文件,except
語句區塊用於處理文件不存在的異常情況,finally
語句區塊用於無論是否發生異常,都關閉檔案。
4. 常見例外類型
Python 中有許多內建的例外類型,它們表示不同的錯誤或異常情況,例如:
NameError
:表示未定義的變數或函數。 TypeError
:表示類型不符。 ValueError
:表示無效的值。 IndexError
:表示索引超出範圍。 KeyError
:表示字典中不存在的鍵。 程式設計師可以透過 sys.exc_info()
函數來取得目前發生的異常訊息,並根據不同的例外類型來採取不同的處理方式。
5. 自訂例外類型
除了內建的異常類型之外,程式設計師還可以自訂異常類型來處理特定的錯誤或異常情況。例如,可以定義一個 MyError
例外類型來處理應用程式中發生的自訂錯誤:
class MyError(Exception): def __init__(self, message): self.message = message def my_function(): # 抛出自定义异常 raise MyError("An error occurred.") try: my_function() except MyError as e: # 处理自定义异常 print(e.message)
在上面的範例中,MyError
是一個自訂的例外類型,它繼承自 Exception
類別。當 my_function()
函數拋出 MyError
例外時,try
語句區塊會擷取該例外並列印異常訊息。
6. 總結
#Python 異常處理機制是程式設計師在編寫程式碼時必須掌握的關鍵技能之一,它可以幫助程式設計師優雅地處理程式運行期間發生的錯誤和異常情況,避免程式崩潰。
以上是Python 異常處理:從小白到專家的進階之路的詳細內容。更多資訊請關注PHP中文網其他相關文章!