我应该总是在`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之外)。
一个好的经验法则是将裸“除”子句的使用限制为两种情况:
如果异常处理程序将打印出来或记录回溯; 至少用户会意识到发生了错误。如果代码需要做一些清理工作,但随后让异常向上传播并加注。尝试...终于可以更好地处理这种情况。
添加回答
举报
0/150
提交
取消