我在pydoc中查找sys是因为我正在读的一本书向我推荐了它,我遇到了last_type,它是最后一种未捕获的异常类型,我的问题是pydoc/python中的未捕获异常是什么,它是用来做什么的?
发布于 2018-01-01 10:07:07
未捕获的异常就是没有被try-except语句中的except-handler处理程序处理的每个异常,因此会导致脚本停止。
如果发生这种情况,解释器默认会打印异常的类型、错误消息和回溯。
例如,如果你尝试回溯,你会得到一个类型为ZeroDivisionError的异常,一条错误消息“print(1/0) by zero”,以及导致异常的代码的最后一步(回溯)。
print(1/0)
Traceback (most recent call last):
File "E:\Programme\Anaconda3\envs\py36\lib\site-
packages\IPython\core\interactiveshell.py", line 2910, in run_code
exec(code_obj, self.user_global_ns, self.user_ns)
File "<ipython-input-12-2fc232d1511a>", line 1, in <module>
print(1/0)
ZeroDivisionError: division by zero未捕获的异常会让您知道出了问题。然后,您必须删除错误源(可能您实际上想要编写print(1/10),或者您必须捕获和处理异常,从而允许您的程序在错误源下继续执行代码。
try:
1/0
except ZeroDivisionError as err: # error is caught here
pass # e.g just do nothing
# print(type(err).__name__, flush=True) # or do something, like print
# error type
print("will be printed because exception before was caught")https://stackoverflow.com/questions/48046494
复制相似问题