diff --git a/source/c08/p03_make_objects_support_context_management_protocol.rst b/source/c08/p03_make_objects_support_context_management_protocol.rst index 8123a99..a158a2d 100644 --- a/source/c08/p03_make_objects_support_context_management_protocol.rst +++ b/source/c08/p03_make_objects_support_context_management_protocol.rst @@ -61,7 +61,7 @@ 最后,``__exit__()`` 方法被触发进行清理工作。 不管 ``with`` 代码块中发生什么,上面的控制流都会执行完,就算代码块中发生了异常也是一样的。 -事实上,``__exit__()`` 方法的第三个参数包含了异常类型、异常值和追溯信息(如果有的话)。 +事实上,``__exit__()`` 方法的三个参数包含了异常类型、异常值和追溯信息(如果有的话)。 ``__exit__()`` 方法能自己决定怎样利用这个异常信息,或者忽略它并返回一个None值。 如果 ``__exit__()`` 返回 ``True`` ,那么异常会被清空,就好像什么都没发生一样, ``with`` 语句后面的程序继续在正常执行。