网络编程
位置:首页>> 网络编程>> Python编程>> 对Python中内置异常层次结构详解

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

作者:晓东邪  发布时间:2023-10-18 11:08:49 

标签:Python,异常,层次,结构

如下所示:


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 即可。

来源:https://blog.csdn.net/xiaodongxiexie/article/details/60779485

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com