1. 異常及其類型
在 python 中,異常是指程序執(zhí)行過程中遇到的錯(cuò)誤或問題。異常可以由多種原因引起,包括代碼中的語法錯(cuò)誤、運(yùn)行時(shí)錯(cuò)誤、內(nèi)存錯(cuò)誤、輸入/輸出錯(cuò)誤等。Python 內(nèi)置了許多異常類來表示不同的錯(cuò)誤類型。例如:
SyntaxError: 代碼中存在語法錯(cuò)誤。
TypeError: 數(shù)據(jù)類型不匹配。
ValueError: 函數(shù)或方法的參數(shù)不正確。
IndexError: 列表或元組下標(biāo)越界。
KeyError: 字典中不存在指定的鍵。
2. 異常處理語句
Python 中的異常處理語句有三種:try/except/finally。它們可以用來捕獲和處理異常。
try: try 語句塊用于執(zhí)行可能引發(fā)異常的代碼。
except: except 語句塊用于捕獲和處理異常。
finally: finally 語句塊用于在 try/except 語句塊執(zhí)行完畢后執(zhí)行的代碼。
示例:
try: # 可能會(huì)引發(fā)異常的代碼 except Exception as e: # 捕獲并處理異常 print("An exception occurred:", e) finally: # 無論是否發(fā)生異常,都會(huì)執(zhí)行的代碼 print("Finally block executed.")
登錄后復(fù)制
3. 捕獲和處理異常
要捕獲和處理異常,可以使用 try/except 語句塊。try 語句塊用于執(zhí)行可能引發(fā)異常的代碼,except 語句塊用于捕獲和處理異常。
示例:
try: # 可能會(huì)引發(fā) TypeError 的代碼 x = int("abc") except TypeError as e: # 捕獲并處理 TypeError 異常 print("TypeError occurred:", e)
登錄后復(fù)制
4. 拋出異常
可以使用 raise 語句來拋出異常。raise 語句可以顯式地引發(fā)一個(gè)異常,以便在程序的適當(dāng)位置捕獲和處理它。
示例:
def divide(a, b): if b == 0: raise ValueError("Cannot divide by zero.") return a / b try: result = divide(10, 0) except ValueError as e: print("ValueError occurred:", e)
登錄后復(fù)制
5. 自定義異常
Python 允許我們自定義異常類,以便為特定的錯(cuò)誤類型提供更詳細(xì)的信息。自定義異常類可以繼承自內(nèi)置的 Exception 類。
示例:
class MyError(Exception): pass try: # 可能會(huì)引發(fā) MyError 的代碼 raise MyError("This is a custom error message.") except MyError as e: print("MyError occurred:", e)
登錄后復(fù)制
總結(jié)
Python 異常處理是編程中不可或缺的一部分,它可以幫助我們優(yōu)雅地處理代碼中的錯(cuò)誤,避免程序崩潰。本文介紹了 Python 異常處理的基礎(chǔ)知識(shí),并通過演示代碼展示了如何使用它來捕獲和處理異常。