Generated with sparks and insights from 27 sources

img6

img7

img8

img9

img10

img11

Introduction

  • Pythonの例外クラスは、すべてBaseExceptionから派生しています。

  • Exceptionは、ユーザー定義のクラスを除くすべての組み込み例外の基底クラスです。

  • ArithmeticErrorは、算術エラーの基底クラスで、OverflowError、ZeroDivisionError、FloatingPointErrorが含まれます。

  • LookupErrorは、マッピングやシーケンスで無効なキーやインデックスが使われた場合に送出される例外の基底クラスです。

  • OSErrorは、システム関数がシステム関連のエラーを返した場合に送出されます。

  • 具体的な例外クラスには、AssertionError、AttributeError、EOFError、ImportError、IndexError、KeyError、MemoryError、NameError、NotImplementedError、RuntimeError、StopIteration、SyntaxError、TypeError、ValueError、ZeroDivisionErrorなどがあります。

基底クラス [1]

  • BaseException: すべての組み込み例外の基底クラスです。ユーザ定義の例外に直接継承されることは意図されていません。

  • Exception: システム終了以外のすべての組み込み例外はこのクラスから派生しています。

  • ArithmeticError: 算術エラーの基底クラスで、OverflowError、ZeroDivisionError、FloatingPointErrorが含まれます。

  • BufferError: バッファに関連する操作が行えなかったときに送出されます。

  • LookupError: マッピングやシーケンスで無効なキーやインデックスが使われた場合に送出される例外の基底クラスです。

img6

img7

img8

img9

img10

img11

具体的な例外クラス [1]

  • AssertionError: assert文が失敗した場合に送出されます。

  • AttributeError: 属性参照や代入が失敗した場合に送出されます。

  • EOFError: input()が何もデータを読まずにEOFに達した場合に送出されます。

  • ImportError: import文でモジュールをロードしようとして問題が発生すると送出されます。

  • IndexError: シーケンスの添字が範囲外の場合に送出されます。

  • KeyError: マッピングのキーが見つからなかった場合に送出されます。

  • MemoryError: メモリが不足した場合に送出されます。

  • NameError: ローカルまたはグローバルの名前が見つからなかった場合に送出されます。

  • NotImplementedError: 抽象メソッドが派生クラスでオーバライドされることを要求する場合に送出されます。

  • RuntimeError: 他のカテゴリに分類できないエラーが検出された場合に送出されます。

  • StopIteration: イテレータが生成するアイテムがこれ以上ないことを伝えるために送出されます。

  • SyntaxError: パーザが構文エラーに遭遇した場合に送出されます。

  • TypeError: 組み込み演算または関数が適切でない型のオブジェクトに対して適用された際に送出されます。

  • ValueError: 正しい型だが適切でない値を持つ引数を受け取ったときに送出されます。

  • ZeroDivisionError: 除算や剰余演算の第二引数が0であった場合に送出されます。

img6

img7

img8

img9

OS関連の例外 [1]

  • BlockingIOError: ノンブロッキング操作に設定されたオブジェクトがブロックしそうになった場合に送出されます。

  • ChildProcessError: 子プロセスの操作が失敗した場合に送出されます。

  • ConnectionError: コネクション関係の問題の基底クラスです。

  • BrokenPipeError: もう一方の端が閉じられたパイプに書き込もうとする場合に発生します。

  • ConnectionAbortedError: 接続の試行が通信相手によって中断された場合に発生します。

  • ConnectionRefusedError: 接続の試行が通信相手によって拒否された場合に発生します。

  • ConnectionResetError: 接続が通信相手によってリセットされた場合に発生します。

  • FileExistsError: すでに存在するファイルやディレクトリを作成しようとした場合に送出されます。

  • FileNotFoundError: 要求されたファイルやディレクトリが存在しない場合に送出されます。

  • InterruptedError: システムコールが入力信号によって中断された場合に送出されます。

  • IsADirectoryError: ディレクトリにファイル操作が要求された場合に送出されます。

  • NotADirectoryError: ディレクトリへの操作をディレクトリ以外に対して要求された場合に送出されます。

  • PermissionError: 十分なアクセス権がない操作が試みられた場合に送出されます。

  • ProcessLookupError: 与えられたプロセスが存在しない場合に送出されます。

  • TimeoutError: システム関数がシステムレベルでタイムアウトした場合に送出されます。

img6

img7

img8

img9

img10

img11

警告カテゴリ [1]

  • 警告カテゴリの例外は、特定の状況で警告を発するために使われます。

  • DeprecationWarning: 廃止予定の機能が使われた場合に発せられます。

  • PendingDeprecationWarning: 将来的に廃止予定の機能が使われた場合に発せられます。

  • RuntimeWarning: 実行時に発生する警告です。

  • SyntaxWarning: 構文に関する警告です。

  • UserWarning: ユーザーコードから発せられる警告です。

  • FutureWarning: 将来的に変更が予定されている機能が使われた場合に発せられます。

  • ImportWarning: モジュールのインポートに関する警告です。

  • UnicodeWarning: Unicode関連の警告です。

  • BytesWarning: バイト関連の警告です。

  • ResourceWarning: リソースの使用に関する警告です。

img6

img7

img8

img9

img10

img11

例外コンテキスト [1]

  • BaseException.context: 例外が送出された際のコンテキスト情報を提供します。

  • BaseException.cause: 例外の原因を示します。

  • BaseException.suppress_context: 例外のコンテキスト情報を抑制するかどうかを示します。

  • 新しい例外を送出する際に、既存の例外のコンテキストを設定することができます。

  • fromキーワードを使って、明示的に例外の原因を設定することができます。

  • デフォルトのtraceback表示コードは、例外自体のtracebackに加え、連鎖された例外も表示します。

  • 連鎖された例外は、__cause__がNoneで__suppress_context__がfalseの場合にのみ表示されます。

  • tracebackの最終行には、常に送出された最後の例外が表示されます。

img6

img7

img8

img9

img10

img11

Related Videos

<br><br>

<div class="-md-ext-youtube-widget"> { "title": "\u3010Python\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u5165\u9580\u3011\u4f8b\u5916\u51e6\u7406\u3092\u89e3\u8aac\uff01\u301cVTuber\u3068\u5b66\u7fd2 ...", "link": "https://www.youtube.com/watch?v=S7v4hyy159M", "channel": { "name": ""}, "published_date": "Feb 28, 2021", "length": "" }</div>

<div class="-md-ext-youtube-widget"> { "title": "\u3010Python\u5165\u9580\u30fb\u5fdc\u7528\u8b1b\u5ea7\u301114.\u4f8b\u5916\u51e6\u7406\uff5c\u30a8\u30e9\u30fc\u3084\u4f8b\u5916\u306e\u3068\u304d\u3067\u3082 ...", "link": "https://www.youtube.com/watch?v=6zt7MWV6eaM", "channel": { "name": ""}, "published_date": "Dec 4, 2022", "length": "" }</div>

<div class="-md-ext-youtube-widget"> { "title": "18. \u4f8b\u5916\u51e6\u7406 | \u4e2d\u5b66\u751f\u3067\u3082\u308f\u304b\u308bPython\u5165\u9580\u30b7\u30ea\u30fc\u30ba", "link": "https://www.youtube.com/watch?v=jnZ9YZHJIhw", "channel": { "name": ""}, "published_date": "Aug 22, 2019", "length": "" }</div>