在Python 3中有很多類型的Exception。某些例外名稱以「錯誤」結尾(例如,StandardError
,OverflowError
)。其他例外不以Error
(例如,KeyboardInterrupt
,SystemExit
)結束。Python 3中的錯誤,異常和中斷之間的關係是什麼?
是從異常類派生的所有錯誤?是否所有異常中斷程序執行?
這個繼承樹是否準確?
錯誤 - >例外 - >中斷
在Python 3中有很多類型的Exception。某些例外名稱以「錯誤」結尾(例如,StandardError
,OverflowError
)。其他例外不以Error
(例如,KeyboardInterrupt
,SystemExit
)結束。Python 3中的錯誤,異常和中斷之間的關係是什麼?
是從異常類派生的所有錯誤?是否所有異常中斷程序執行?
這個繼承樹是否準確?
錯誤 - >例外 - >中斷
在Python中所有異常的BaseException
繼承有關詳細繼承樹看到documentation
Docs:
Exception
:所有內置的,非系統退出的異常來自該類。所有用戶定義的異常也應該從這個類派生。
所以,SystemExit
和KeyboardInterrupt
是爲了終止這個程序(和你不希望except Exception
抓住他們,如果你想趕上他們,你需要更具體的);文檔本身解釋了GeneratorExit
。
「中斷」是什麼意思? – BrenBarn
中斷是一個os的概念,採取控制形式運行程序,例如假設progA正在運行,併發生時鐘中斷,然後os暫停progA,並去響應時鐘中斷,然後再次回到progA。 –