擅长:python、mysql、java
<p>没有特定python函数可以抛出的异常列表。这是由于python的duck类型。由于您可以提供任何类型的对象作为函数参数,并且这些函数可以在实现中执行它们想要的任何操作,因此原则上可以引发任何异常。通常,文档很清楚在特定条件下会出现什么异常(例如找不到文件时出现IOError),但这与“函数可以引发的所有异常的列表”不同。你知道吗</p>
<p>我还建议您不要按照计划将异常重定向到“BetterError”中,因为这会隐藏最初发生错误的原因和位置。如果确实要提供更好的错误消息,请在函数开头执行参数验证,并针对无法排除但会引发任何异常的情况引发ValueErrors:</p>
<pre><code>if not is_valid_data(untrusted_data) :
raise ValueError("invalid input")
unused_dict = dict(untrusted_data)
</code></pre>