在Python中,raise
關(guān)鍵字用于拋出異常。你可以使用它來引發(fā)內(nèi)置的異常,也可以定義自己的異常類。以下是兩種常見的用法:
Python有許多內(nèi)置的異常類,如ValueError
、TypeError
等。你可以使用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
除了內(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ù)。