溫馨提示×

Python中raise如何拋出異常

小樊
82
2024-10-11 08:26:44
欄目: 編程語言

在Python中,raise關(guān)鍵字用于拋出異常。你可以使用它來引發(fā)內(nèi)置的異常,也可以定義自己的異常類。以下是兩種常見的用法:

  1. 引發(fā)內(nèi)置異常

Python有許多內(nèi)置的異常類,如ValueErrorTypeError等。你可以使用raise語句直接引發(fā)這些異常,并傳遞相關(guān)的參數(shù)(如果有的話)。

def divide(a, b):
    if b == 0:
        raise ValueError("除數(shù)不能為0")
    return a / b

try:
    result = divide(10, 0)
except ValueError as e:
    print(e)  # 輸出:除數(shù)不能為0
  1. 引發(fā)自定義異常

除了內(nèi)置的異常類,你還可以創(chuàng)建自己的異常類。這通常是通過繼承BaseException或其子類(通常是Exception)來完成的。

class MyCustomError(Exception):
    def __init__(self, message):
        self.message = message

def check_age(age):
    if age < 0:
        raise MyCustomError("年齡不能為負數(shù)")
    return True

try:
    check_age(-5)
except MyCustomError as e:
    print(e.message)  # 輸出:年齡不能為負數(shù)

在上面的例子中,我們定義了一個名為MyCustomError的自定義異常類,并在check_age函數(shù)中使用raise語句引發(fā)它。注意,在引發(fā)自定義異常時,我們通常會將相關(guān)的信息(如錯誤消息)作為參數(shù)傳遞給異常類的構(gòu)造函數(shù)。

0