例外は、C の非常に中心的な概念です。例外は、実行中に望ましくない操作または不可能な操作が発生した場合に発生します。 C でこれらの不要な操作または不可能な操作を処理することを例外処理と呼びます。例外処理では主に、「try」、「catch」、「throw」という 3 つの特定のキーワードを使用します。 「try」キーワードは例外が発生する可能性のあるコードを実行するために使用され、「catch」キーワードはこれらの例外を処理するために使用され、「throws」キーワードは例外を作成するために使用されます。 。 C の例外は、STL 例外とユーザー定義例外の 2 種類に分類できます。この記事では、これらのカスタム例外を作成する方法に焦点を当てます。例外処理の詳細については、ここを参照してください。
単一クラスを使用したカスタム例外の作成
最初に、単一のクラスを使用してカスタム例外を作成する方法を説明しました。これを行うには、クラスを定義し、そのクラスから例外をスローする必要があります。
###文法###
リーリー
Example
は次のように翻訳されます:
Example
リーリー
###出力###
リーリー
'try' ブロックはそのクラスの例外をスローしますが、'
catch
' ブロックはその特定のクラスの例外のみをキャッチします。ユーザー定義の例外クラスが 2 つある場合、それらは別々に処理する必要があります。
複数のクラスを使用してカスタム例外を作成する
プロセスは予想通り単純ですが、複数の例外がある場合は、それぞれを個別に処理する必要があります。
###文法###
リーリー
Example
は次のように翻訳されます:
Example
リーリー
###出力###
リーリー
2 つの異なるカテゴリの例外を処理するには、2 つの異なる try-catch ブロックを使用する必要がありました。次に、コンストラクターを使用して例外を作成して処理できるかどうかを見てみましょう。
コンストラクターを使用してカスタム例外を作成する
クラス コンストラクターを使用してカスタム例外を作成できます。以下の例では、例外のスローと処理がクラス コンストラクター内で管理されていることがわかります。
Example
は次のように翻訳されます:
Example
リーリー
###出力###
リーリー
例外処理は、C が提供する最も重要な機能の 1 つです。 C 例外クラスを継承し、それを使用して例外処理を実装できますが、これは単なる良い習慣であり、カスタム例外を作成するために必須ではありません。 C 例外クラスを継承する利点は、std::Exception をキャッチする通常の catch ステートメントがある場合、特定の詳細を知らなくてもユーザー定義の例外を処理できることです。 「throws」ステートメントは「try」ブロック内でのみ機能し、それ以外の場合は機能しないことに注意してください。 「catch」ステートメントは、ユーザー定義クラスまたは特定の STL クラスによってスローされた例外のみを処理できます。
以上がC++ プログラムがカスタム例外を作成するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。