繁体   English   中英

如何在 Python 2.7 中使用 try & except 在没有 pep8 警告的情况下检查所有异常?

[英]How can I check for all exceptions using try & except without pep8 warnings in Python 2.7?

我正在尝试使用tryexcept检查所有可能的错误,但是当我使用except Exception as e: ,pep8 说“异常条款太宽泛”。 我尝试添加logging.exception(e)但现在它根本不起作用(我记得要导入日志记录)。

PEP8 将遵循标准并编写易于阅读的代码,轻松查找错误等等。 PEP 8 说这个警告是因为你没有提到任何Exception类型。 虽然这是无害的,但根本不是一个好习惯。 无论何时处理异常,您都应该更加具体,因为这可以帮助您缩小错误的范围。

例子

def foo():
    try:
        1/0
    except ZeroDivisionError:
        print("You can not divide by zero")
    except Exception as e:
        print("Some unknown error occurred. Error is: " + e.__str__())

def bar():
    try:
        raise Exception("I am crashed")
    except ZeroDivisionError:
        print("You can not divide by zero")
    except Exception as e:
        print("Some unknown error occurred. Error is: " + e.__str__())


if __name__ == '__main__':
    foo()
    bar()

你明白了。 除非没有任何异常类型,否则永远不要写。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM