TECH I.S.

C++ の例外


C++ の例外

C++ コードを実行すると、さまざまなエラーが発生する可能性があります。プログラマーによるコーディング エラー、間違った入力によるエラー、またはその他の予測不可能なエラーです。

エラーが発生すると、C++ は通常停止し、エラー メッセージを生成します。これの専門用語は次のとおりです。C++ は例外(エラーをスローします)。


C++ トライ アンド キャッチ

C++ での例外処理は、次の 3 つのキーワードで構成されます。trythrowcatch:

tryステートメントを使用すると、実行中にエラーをテストするコード ブロックを定義できます。

throwキーワードは、問題が検出されたときに例外をスローします。これにより、カスタム エラーを作成できます。

catchステートメントを使用すると、try ブロックでエラーが発生した場合に実行されるコードのブロックを定義できます。

trycatchキーワードはペアになっています:

try {   // Block of code to try   throw exception; // Throw an exception when a problem arise } catch () {   // Block of code to handle errors }

次の例を検討してください。

try {   int age = 15;   if (age >= 18) {     cout << "Access granted - you are old enough.";   } else {     throw (age);   } } catch (int myNum) {   cout << "Access denied - You must be at least 18 years old.\n";   cout << "Age is: " << myNum; }

自分で試してみる »

例の説明

私たちは、tryいくつかのコードをテストするためのブロック:age変数はより小さい18、 私達はしますthrow例外であり、私たちのcatchブロック。

の中にcatchエラーをキャッチし、それに対して何かを行います。のcatchステートメントはパラメータ: この例では、int変数 (myNum) (例外をスローしているためintを入力しますtryブロック (age)) の値を出力するage.

エラーが発生しない場合 (例:age20それ以外の15、つまり 18 より大きいことを意味します)、catchブロックはスキップされます:

int age = 20;

自分で試してみる »

また、throw整理用のカスタム エラー番号/コードなどの参照番号を出力するキーワード:

try {   int age = 15;   if (age >= 18) {     cout << "Access granted - you are old enough.";   } else {     throw 505;   } } catch (int myNum) {   cout << "Access denied - You must be at least 18 years old.\n";   cout << "Error number: " << myNum; }

自分で試してみる »


あらゆる種類の例外を処理する (...)

あなたが知らない場合throw タイプで使用されるtryブロック、「3 つのドット」構文を使用できます (...) の内部catchあらゆるタイプの例外を処理するブロック:

try {   int age = 15;   if (age >= 18) {     cout << "Access granted - you are old enough.";   } else {     throw 505;   } } catch (...) {   cout << "Access denied - You must be at least 18 years old.\n"; }

自分で試してみる »



プログラミング学習を加速させる

プログラミングをプロの講師に教えてもらいませんか。

テックアイエスのプログラミングスクールは初心者も大歓迎です。年齢制限もありません。転職・副業に強く、挫折させない手厚いサポートで稼ぐ力を身につけましょう!

スクールの詳細