创建例外时如何设置参数?我在哪里可以找到每个Exception
子类可用的参数列表?什么是最佳实践?
例如,如果我知道文件不存在,我该如何提出FileNotFoundError(missing_file)
例外?
这显示了FileNotFoundError
例外的成员列表:
>>> [a for a in dir(FileNotFoundError) if a>'a']
['args', 'characters_written', 'errno', 'filename', 'filename2', 'strerror', 'winerror', 'with_traceback']
这表明在创建例外时可以设置一些参数:
>>> FileNotFoundError(1,2,3,4,5).filename
3
>>> FileNotFoundError(1,2,3,4,5).filename2
5
这表明这些论点意味着什么:
>>> raise FileNotFoundError(1,2,3,4,5)
Traceback (most recent call last):
File "<pyshell#8>", line 1, in <module>
raise FileNotFoundError(1,2,3,4,5)
FileNotFoundError: [WinError 4] 2: 3 -> 5
所以我知道参数在那里,可以设置并且可以使用。但我找不到任何关于它的文件。
raise文档,FileNotFoundError
文档或this post没有谈论异常参数。
答案 0 :(得分:1)
查看您为FileNotFoundError
链接的网页,它确实说它是OSError
的子类,其中包含签名
OSError(errno, strerror[, filename[, winerror[, filename2]]])
可以合理推断子类构造函数具有相同的签名。