例外也是物件

例外是從內建 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 。以下是按層次排列的完整列表: 異常層次結構