检测python程序/函数/方法可以引发的异常
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了检测python程序/函数/方法可以引发的异常,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1111字,纯文字阅读大概需要2分钟。
内容图文
![检测python程序/函数/方法可以引发的异常](/upload/InfoBanner/zyjiaocheng/743/3882a545e68d4edeb9f7e54e1b32945b.jpg)
大家好,有没有办法’检测’什么例外功能/方法提出?示范:
def foo():
print 'inside foo, next calling bar()'
_bar()
_baz()
# lots of other methods calls which raise other legitimate exceptions
def _bar():
raise my_exceptions.NotFound
def _baz():
raise my_exceptions.BadRequest
所以,假设foo是我的API的一部分,我需要记录它,有没有办法获得可以从中提取的所有异常?
为了清楚起见我不想处理这些异常,它们应该发生(例如,当找不到资源或者请求格式错误时).
我正在考虑创建一些工具,以“内联”方式转换代码序列,如:
def foo():
print 'inside foo, next calling bar()'
# what _bar() does
raise my_exceptions.NotFound
# what _baz() does
raise my_exceptions.BadRequest
# lots of other methods calls which raise other legitimate exceptions
有没有什么可以帮助我检测到而不是导航每个方法调用? (深入到几个文件)
解决方法:
你不能用Python合理地做到这一点,原因如下:
1)Python原语并未准确记录它们可以抛出的异常. Python的精神是任何事情都可以随时抛出任何异常.
2)Python的动态特性使得完全静态分析代码变得非常困难,几乎不可能知道代码“可能”做什么.
3)各种不感兴趣的异常必须在列表中,例如,如果你有self.foo,那么它可能引发AttributeError.需要一个非常复杂的分析器来确定foo必须存在.
内容总结
以上是互联网集市为您收集整理的检测python程序/函数/方法可以引发的异常全部内容,希望文章能够帮你解决检测python程序/函数/方法可以引发的异常所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。