在最后一个异常处理程序中,“ causing”异常可作为c .__ context__获得。Python正在使用此信息来呈现更有用的回溯。在Python
2.x下,原始的异常将会丢失,这仅适用于Python 3。
通常,您可以使用它引发一致的异常,同时仍保持原始异常的可访问性(尽管很酷,它是自动从异常处理程序中发生的,但我不知道!):
try: do_something_involving_http()except (URLError, socket.timeout) as ex: raise MyError('Network error') from ex
此处提供了更多信息(以及您可以执行的其他一些非常有用的 *** 作):http
:
//docs.python.org/3.3/library/exceptions.html
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)