例外也是物件
例外是從內建 BaseException
繼承的常規 Python 物件。Python 指令碼可以使用 raise
語句來中斷執行,從而導致 Python 在該點列印呼叫堆疊的堆疊跟蹤以及異常例項的表示。例如:
>>> def failing_function():
... raise ValueError('Example error!')
>>> failing_function()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<stdin>", line 2, in failing_function
ValueError: Example error!
其中說'Example error!'
的 ValueError
是由我們的 failing_function()
提出的,這是在翻譯中執行的。
呼叫程式碼可以選擇處理呼叫可以引發的任何和所有型別的異常:
>>> try:
... failing_function()
... except ValueError:
... print('Handled the error')
Handled the error
你可以通過在異常處理程式碼的 except...
部分中分配異常物件來獲取異常物件:
>>> try:
... failing_function()
... except ValueError as e:
... print('Caught exception', repr(e))
Caught exception ValueError('Example error!',)
可以在 Python 文件中找到內建 Python 異常及其描述的完整列表: https : //docs.python.org/3.5/library/exceptions.html 。以下是按層次排列的完整列表: 異常層次結構 。