python – 我应该总是在`except`语句中指定一个异常类型吗?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python – 我应该总是在`except`语句中指定一个异常类型吗?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1107字,纯文字阅读大概需要2分钟。
内容图文
![python – 我应该总是在`except`语句中指定一个异常类型吗?](/upload/InfoBanner/zyjiaocheng/716/c46ec089f87f4252b043195bb861771e.jpg)
使用PyCharm IDE时,使用except:没有异常类型会触发IDE提醒此异常条款过于宽泛.
我应该忽略这个建议吗?或者是Pythonic总是具体的异常类型?
解决方法:
指定显式异常类型几乎总是更好.如果你使用一个裸的except:子句,你可能最终会捕获除了你期望捕获的异常之外的异常 – 这可以隐藏错误或者当它们没有按照你期望的方式调试程序时更难.
例如,如果要在数据库中插入行,则可能需要捕获指示该行已存在的异常,以便您可以执行更新.
try:
insert(connection, data)
except:
update(connection, data)
如果指定bare除以外,则还会捕获一个套接字错误,指示数据库服务器已经崩溃.最好只捕获你知道如何处理的异常 – 程序通常在异常点失败而不是继续但是以奇怪的意外方式运行.
您可能希望使用裸外的一种情况:位于您需要始终运行的程序的顶层,如网络服务器.但是,你需要非常小心地记录异常,否则就不可能弄清楚出了什么问题.基本上,程序中最多只能有一个地方可以执行此操作.
所有这一切的必然结果是你的代码永远不应该引发Exception(‘some message’),因为它会强制使用客户端代码,除了:(或者除了异常:这几乎一样糟糕).您应该定义一个特定于您想要发出信号的异常(可能是从一些内置的异常子类继承,如ValueError或TypeError).或者你应该提出一个特定的内置异常.这使您的代码用户可以小心地捕获他们想要处理的异常.
内容总结
以上是互联网集市为您收集整理的python – 我应该总是在`except`语句中指定一个异常类型吗?全部内容,希望文章能够帮你解决python – 我应该总是在`except`语句中指定一个异常类型吗?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。