定义异常时不必要的传递

Unnecessary pass in defining exceptions

通常我会写一个通用的异常,如下所示:

class MyException(Exception):
    "My custom exception."
    pass

这样我就可以在 try/except 块中检查该异常是否是我想要的异常。然而 pylint 抱怨如下:

unnecessary-pass: Unnecessary pass statement

此投诉背后的理由是什么?是否有更优选的方法来执行上述操作?甚至 python 文档也建议对 user-defined exception:

使用类似的东西
class Error(Exception):
    """Base class for exceptions in this module."""
    pass

基本原理是字符串文字是 class 正文中的有效 Python 语句,因此不需要 pass 来显示缩进。

这是一个样式问题,因此对于如何解决这个问题没有明确的答案。如果您觉得 pass 有用,我建议在 pylint 中禁用该警告。