首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Pydoc未捕获异常

Pydoc未捕获异常
EN

Stack Overflow用户
提问于 2018-01-01 08:33:32
回答 1查看 104关注 0票数 1

我在pydoc中查找sys是因为我正在读的一本书向我推荐了它,我遇到了last_type,它是最后一种未捕获的异常类型,我的问题是pydoc/python中的未捕获异常是什么,它是用来做什么的?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-01-01 10:07:07

未捕获的异常就是没有被try-except语句中的except-handler处理程序处理的每个异常,因此会导致脚本停止。

如果发生这种情况,解释器默认会打印异常的类型、错误消息和回溯。

例如,如果你尝试回溯,你会得到一个类型为ZeroDivisionError的异常,一条错误消息“print(1/0) by zero”,以及导致异常的代码的最后一步(回溯)。

代码语言:javascript
复制
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),或者您必须捕获和处理异常,从而允许您的程序在错误源下继续执行代码。

代码语言:javascript
复制
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")
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48046494

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档