为了账号安全,请及时绑定邮箱和手机立即绑定

我应该总是在`except`语句中指定一个异常类型吗?

我应该总是在`except`语句中指定一个异常类型吗?

繁花如伊 2019-07-27 10:23:17
我应该总是在`except`语句中指定一个异常类型吗?使用PyCharm IDE时,except:无异常类型的使用会触发IDE提醒此异常子句Too broad。我应该忽略这个建议吗?或者是Pythonic总是具体的异常类型?
查看完整描述

3 回答

?
慕娘9325324

TA贡献1783条经验 获得超4个赞

你不应该忽视翻译给你的建议。

PEP-8样式指南Python:

捕获异常时,请尽可能提及特定异常,而不是使用bare except子句。

例如,使用:

 try:
     import platform_specific_module 
 except ImportError:
     platform_specific_module = None

一个裸的except:子句将捕获SystemExit和KeyboardInterrupt异常,这使得用Control-C中断程序变得更加困难,并且可以掩盖其他问题。如果你想捕获所有发出程序错误信号的异常,请使用除Exception :(裸除了除了BaseException之外)。

一个好的经验法则是将裸“除”子句的使用限制为两种情况:

如果异常处理程序将打印出来或记录回溯; 至少用户会意识到发生了错误。如果代码需要做一些清理工作,但随后让异常向上传播并加注。尝试...终于可以更好地处理这种情况。


查看完整回答
反对 回复 2019-07-27
  • 3 回答
  • 0 关注
  • 940 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信