Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions docs/source/errors.rst
Original file line number Diff line number Diff line change
Expand Up @@ -117,7 +117,7 @@

发生异常时,可能会有一个附属值,作为异常的 *参数* 存在。这个参数是否存在、是什么类型,依赖于异常的类型。

在异常名(列表)之后,也可以为 except 子句指定一个变量。这个变量绑定于一个异常实例,它存储在 ``instance.args`` 的参数中。为了方便起见,异常实例定义了 `__str__() <https://docs.python.org/3/reference/datamodel.html#object.__str__>`_ ,这样就可以直接访问过打印参数而不必引用 ``.args``。这种做法不受鼓励。相反,更好的做法是给异常传递一个参数(如果要传递多个参数,可以传递一个元组),把它绑定到 message 属性。一旦异常发生,它会在抛出前绑定所有指定的属性。 ::
在异常名(列表)之后,也可以为 except 子句指定一个变量。这个变量绑定于一个异常实例,它的参数存储在 ``instance.args`` 。为了方便起见,异常实例定义了 `__str__() <https://docs.python.org/3/reference/datamodel.html#object.__str__>`_ ,这样就可以直接打印参数而不必引用 ``.args``。这种做法不受鼓励。相反,更好的做法是给异常传递一个参数(如果要传递多个参数,可以传递一个元组),把它绑定到 message 属性。一旦异常发生,它会在抛出前绑定所有指定的属性。 ::

>>> try:
... raise Exception('spam', 'eggs')
Expand All @@ -136,7 +136,7 @@
x = spam
y = eggs

对于那些未处理的异常,如果一个它们带有参数,那么就会被作为异常信息的最后部分(“详情”)打印出来。
对于那些未处理的异常,如果它们带有参数,那么就会被作为异常信息的最后部分(“详情”)打印出来。

异常处理器不仅仅处理那些在 try 子句中立刻发生的异常,也会处理那些 try 子句中调用的函数内部发生的异常。例如::

Expand Down