我是 python 的初學者。我必須解釋以下代碼行之間的區(qū)別:except ValueError as err: print(err,"in methodA is occured") raise ValueError("A Value Error") 和except ValueError as err: print(err,"in methodA is occured") raise Exception("A Value Error") 我在 python 文檔中看到了這個“異常層次結(jié)構(gòu)”。我知道在第二個中我們正在傳遞“異常類”來引發(fā)。但對于第一個,我不確定我們傳遞的“ValueError”是異常類的實例還是異常類的子類?還是我把這整件事都弄錯了?提前致謝。
1 回答

尚方寶劍之說
TA貢獻1788條經(jīng)驗 獲得超4個贊
如有疑問,help功能通常很有用,只需啟動 Python 控制臺并執(zhí)行help(ValueError)以獲取以下信息:
Help on class ValueError in module builtins:
class ValueError(Exception)
| Inappropriate argument value (of correct type).
|
| Method resolution order:
| ValueError
| Exception
| BaseException
| object
|
...
以更詳細的方式:ValueError是class,ValueError是子類Exception,Exception是子類BaseException,BaseException是子類object。
添加回答
舉報
0/150
提交
取消