首页 > 编程 > Python > 正文

对Python中内置异常层次结构详解

2020-02-15 23:16:17
字体:
来源:转载
供稿:网友

如下所示:

BaseException +-- SystemExit +-- KeyboardInterrupt +-- GeneratorExit +-- Exception  +-- StopIteration  +-- StandardError  | +-- BufferError  | +-- ArithmeticError  | | +-- FloatingPointError  | | +-- OverflowError  | | +-- ZeroDivisionError  | +-- AssertionError  | +-- AttributeError  | +-- EnvironmentError  | | +-- IOError  | | +-- OSError  | |   +-- WindowsError (Windows)  | |   +-- VMSError (VMS)  | +-- EOFError  | +-- ImportError  | +-- LookupError  | | +-- IndexError  | | +-- KeyError  | +-- MemoryError  | +-- NameError  | | +-- UnboundLocalError  | +-- ReferenceError  | +-- RuntimeError  | | +-- NotImplementedError  | +-- SyntaxError  | | +-- IndentationError  | |   +-- TabError  | +-- SystemError  | +-- TypeError  | +-- ValueError  |   +-- UnicodeError  |    +-- UnicodeDecodeError  |    +-- UnicodeEncodeError  |    +-- UnicodeTranslateError  +-- Warning   +-- DeprecationWarning   +-- PendingDeprecationWarning   +-- RuntimeWarning   +-- SyntaxWarning   +-- UserWarning   +-- FutureWarning  +-- ImportWarning  +-- UnicodeWarning  +-- BytesWarning

想要捕获所有的异常,可以直接捕获 Exception 即可:

try: ...except Exception as e: ... log('Reason:', e)  # Important!

这个将会捕获除了 SystemExit 、 KeyboardInterrupt 和 GeneratorExit 之外的所有异常。 如果你还想捕获这三个异常,将 Exception 改成 BaseException 即可。

以上这篇对Python中内置异常层次结构详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持武林站长站。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表