Python函数可能引发哪些异常?
在Python中,有没有办法知道一个(内置的)函数可能会引发哪些异常?比如,内置的int(s)函数的文档(http://docs.python.org/lib/built-in-funcs.html)里并没有提到,如果s不是一个格式正确的整数,它可能会引发ValueError这个错误。
这个问题和“re.compile()或者任何给定的Python库调用会抛出异常吗?”是重复的。
2 个回答
0
我不知道有什么明确的来源,除了源代码本身。
8
想知道某个东西可能会抛出什么错误,最好的办法就是去看它的说明文档。比如,int()的说明文档没有提到它可能会抛出ValueError,这其实是文档的一个小问题,但可以理解,因为ValueError就是用来处理这种情况的,而且这也是“大家都知道”的事情。
不过,强调一下,文档是了解你需要关注哪些错误的唯一途径。实际上,任何函数都有可能抛出任何错误,甚至是因为信号可能会到达,而信号处理程序可能会抛出错误。不过,你不需要去预测或处理这些错误;你只需要处理你能预料到的错误就可以了。