有没有办法知道(在编码时)执行 python 代码时会出现哪些异常?
我最终在 90% 的情况下捕获了 Exception 基类,因为我不知道可能会抛出哪种异常类型(阅读文档并不总是有帮助,因为很多时候异常可以从深处传播。而且很多时候文档未更新或不正确)。
是否有某种工具可以检查这一点(例如通过阅读Python代码和库)?
您应该只捕获您将处理的异常。
通过具体类型捕获所有异常是无稽之谈。您应该捕获特定的异常can and will处理。对于其他异常,您可以编写一个通用的 catch 来捕获“基本异常”,并将其记录下来(使用str()
函数)并终止您的程序(或在崩溃情况下执行其他适当的操作)。
如果你真的要处理all异常并且确保它们都不是致命的(例如,如果您在某种沙盒环境中运行代码),那么捕获通用 BaseException 的方法就符合您的目标。
您可能还感兴趣语言异常参考,不是您正在使用的库的参考。
如果库引用确实很差并且在捕获系统异常时不会重新抛出自己的异常,唯一有用的方法是运行测试(也许将其添加到测试套件中,因为如果某些内容未记录,它可能会发生变化!)。删除对代码至关重要的文件并检查抛出的异常。提供太多数据并检查它会产生什么错误。
无论如何,你都必须运行测试,因为,即使如果存在通过源代码获取异常的方法,它不会让您知道应该如何处理其中任何一个。也许您应该显示错误消息“找不到文件 needful.txt!”当你抓住IndexError
?只有测试才能知道。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)