我理解为什么在Python中,有一个不会尝试处理特定异常的 try..except 块是一个坏主意。但我无法确定在哪里可以找到任何特定库,命令或方法可能发生的异常列表。
例如,我目前正在使用 decode 语句,如下所示:
in_file = in_file.decode(encoding="ISO-8859-1") # Turn data from unicode to ascii
我如何知道可能引发的异常?从更广泛的意义上说,我应该在哪里寻找这种信息?
谢谢
答案 0 :(得分:3)
如果您要查找所有内置异常的列表,可以在the documentation中找到。每种类型的简要描述为您提供了何时使用它们的基本概念。 (请注意,第三方库也可以定义自己的异常,您需要查看这些异常库的文档。)
如果您想知道特定函数可能抛出的异常,您需要查看该函数的文档。例如,decode
的{{3}}表示它可能抛出UnicodeError。
答案 1 :(得分:1)
内置异常列在库文档的Built-In Exceptions section中。将字节解码为Unicode会抛出UnicodeDecodeError
exception。
您还要检查您正在呼叫的方法的文档;你在这里打电话给bytes.decode()
:
错误的默认值为
'strict'
,这意味着编码错误会导致UnicodeError
。