C ++で例外処理を実装する方法は?



この記事は、例外処理とは何か、およびC ++で例外処理を実装する方法を実際のデモンストレーションで理解するのに役立ちます。

例外 実行時またはコンパイル時の異常な状態です。 C ++では非常に重要な概念です。この記事では、C ++での例外処理とそのさまざまなタイプを紹介します。

この記事では、次のポイントについて説明します。





それでは始めましょう、

C ++での例外処理

例外の種類

例外には2つのタイプがあります。



実行時例外

これは、実行時にキャッチされた例外です。

コンパイル時の例外



これは、コンパイル時にキャッチされた例外です。

C ++でのこの例外処理の記事に進み、

例外処理とは何ですか?

エラーは、プログラムの通常の実行を中断します。例外処理は非常に必要であり、エラーまたは例外を処理するプロセスです。プログラムの実行が例外の影響を受けないことを確認し、プログラムの実行に問題を引き起こすことなく、例外をゆっくりと処理します。

例外処理を検討する場合、それに関連する3つの用語があります。

試してみてください

このブロック内のコードは、例外をスローする可能性のあるトライアルコードのようなものです。この例外は、catchブロック内でキャッチされます。

キャッチ

このブロックのコードは、tryブロックのコードが例外をスローしたときに実行されます。

スロー

このキーワードは、例外が発生したときに例外をスローするために使用されます。例外は例外ハンドラーに送信されます。

構文:

tryブロック内のコードが実行されます。エラーが生成された場合、キーワードthrowは例外を例外ハンドラー、つまりcatchブロックにスローします。次に、catchブロックは、そのブロック内にあるコードを実行して、例外を処理しました。

C ++での例外処理のサンプルコードを見てみましょう。

サンプルコード

#include using namespace std try {// try throwのコード&ldquoexception&rdquo} catch(exception){// catchのコード} int main(){int x = 1 try {cout<< 'Try Block: '<

出力:

出力-C ++での例外処理-Edureka

説明

このプログラムは、例外処理を示しています。値1が割り当てられた変数xがあります。次に、tryブロックの開始があります。このブロックには、条件xのifステートメントがあります。<10.

この場合、xが1であるため、条件は真です。次に、プログラムは例外をスローし、制御はcatchブロックに移行します。キャッチ部分で条件を実行し、ブロックを終了します。

キャッチ(...){コスト<< 'Default Exceptionn'<

最後に、catchブロックとexitプログラムの後に残りのステートメントを実行します。

複数のcatchステートメントが存在する可能性があります。 考えられる例外の数によって異なります。

C ++でのこの例外処理の記事に進み、

キャッチブロックの失敗

前のプログラムを考えてみましょう。xの代わりにthrowキーワードが「ABC」をスローすると、catch関数はそれを処理できなくなります。エラーが表示されますが、

このような場合、勝ったエラーメッセージを表示させることができます。

これを解決するには、このような問題を処理するために、デフォルトのcatch関数をコードに追加する必要があります。

#include using namespace std int main(){int x = 1 try {cout<< 'Try Block: '<

出力:

説明:

このコードは前のコードと似ています。唯一の変更点は、スローされる例外がchar型であることです。その結果、catch関数は役に立たなくなります。そのため、デフォルトのキャッチ機能が含まれています。

一致するcatchステートメントがない場合は、デフォルトのcatchが実行されます。

複数のキャッチブロック

1つのtryブロックに複数のcatchブロックが存在する可能性があります。

これが例です、

#include using namespace std int test(int a){try {if(a<0) throw a else throw 'a' }catch(int a){ cout<<'Caught an integer: ' << a<

出力:

説明:

上記のコードでは、複数のcatchステートメントを使用しています。例外を生成する機能テストがあります。最初のテストケースでは、値は10です。10はゼロより大きいため、「a」の文字がスローされ、2番目のcatch関数によってキャッチされます。

Javaで電力を使用する方法

2番目のケースでは、値が0未満であるため、値-1がスローされ、整数例外によってキャッチされます。

基本クラスと派生クラスでの例外処理:

基本クラスと派生クラスの例外がキャッチされた場合、派生クラスのキャッチは基本クラスの前に実行する必要があります。

いくつかの例外があります:

  • std :: exception

  • logic_error

  • ランタイムエラー

  • bad_alloc

  • bad_cast

  • bad_exception

これで、「C ++での例外処理」に関するこのブログの最後に到達しました。この有益でお役に立てば幸いです。同様のトピックに関するその他のチュートリアルにご期待ください。トレーニングプログラムもご覧ください。o jQueryとそのさまざまなアプリケーションに関する深い知識を得るには、次のことができます。 24時間年中無休のサポートと生涯アクセスを備えたライブオンライントレーニング用。

質問がありますか?このブログのコメントセクションでそれらに言及してください。折り返しご連絡いたします。