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!
これはSystem Exit、KeyboardInterrupt、GeneratoExit以外のすべての異常を捕獲します。この三つの異常を捕まえたいなら、ExceptionをBaseExceptionに変更すればいいです。
以上のPythonの中には異常層構造が含まれています。詳細は小編が皆さんに提供した内容の全部です。参考にしてほしいです。どうぞよろしくお願いします。