C++ トライ - キャッチ - 最後に

C Torai Kyatchi Zui Houni



C++ には、例外を処理するための「try-catch」メソッドが用意されています。 C++ プログラムで例外が発生した場合、これらの「try-catch」メソッドは、プログラムのコードのある部分から別の部分に制御を移すのに役立ちます。例外は、プログラムの実行中に発生するグリッチです。プログラムの実行中に、ゼロで除算しようとするなどの異常な状況が発生すると、C++ 例外が発生します。この状況は、コード内で「try-catch」メソッドを利用するだけで処理されます。 「試す」「捕る」「投げる」という3つのキーワードが含まれています。 「throw」キーワードは、他のコード部分で例外をスローするために使用されます。 C++ プログラミングでは、「finally」キーワードは簡単に使用できませんが、C++ コードでは「try」、「catch」、および「throw」キーワードを使用できます。

例 1:

ここには、いくつかの関数が宣言されているヘッダー ファイル「iostream」が含まれています。このヘッダー ファイルで宣言されている関数をコード内で使用するため、このヘッダー ファイルをインクルードします。この後に「std」があり、「cin」や「cout」などの関数も定義されているため、ここに配置されます。コードの先頭に「namespace std」を追加すると、これらすべての関数で「std」と入力する必要がなくなります。この後、ここで「main()」関数が呼び出されます。これは、C++ プログラムのドライバー コードとも呼ばれます。

次に、ここでは「try」キーワードを使用して、「my_num1」を「35」値で初期化します。ここでは「int」データ型変数です。次に、この変数を「if」内に配置し、「my_num1」が「98」以上でなければならないという条件を設定します。与えられた条件が満たされると、if 内を先に進み、ここに書かれたステートメントを実行します。 「cout」を利用し、条件を満たした場合に表示するメッセージを挿入します。







この後、「else」を配置した後に「throw」キーワードを使用します。この「throw」キーワードでは、パラメータとして「my_num1」を渡します。この下に「キャッチ」の部分を追加します。 「catch()」のパラメータとして「my_num2」を挿入し、この「catch」部分内で再度「cout」を使用します。この部分は、「try」部分で例外が発生した場合にのみ実行されます。



コード 1:



#include
を使用して 名前空間 標準 ;
整数 主要 ( {
試す {
整数 my_num1 = 35 ;
もし ( my_num1 >= 98 {
コート << 「ここでアクセスが許可されます。」 ;
} それ以外 {
投げる ( my_num1 ;
}
}
キャッチ ( 整数 my_num2 {
コート << 「ここではアクセスが拒否されました。」 << 終わり ;
コート << 「番号は次のとおりです。」 << my_num2 ;
}
戻る 0 ;
}

出力:
入力した数値は「98」より小さい「35」です。そうすると、そこで例外が発生して「catch()」の部分が表示されます。 「try」部分へのアクセスは拒否されます。





例 2:

ここに「iostream」ヘッダー ファイルと「namespace std」を配置します。この後、「int」データ型の「分子」と「分母」である 2 つのパラメータを配置する「division()」関数を作成します。この「除算」関数のデータ型を「double」に設定します。



この下に、分母がゼロであるという条件を追加する「if()」を追加します。この後、「throw」キーワードを使用して、そこにメッセージを入力します。このメッセージは、条件に従ってこのコードで例外が発生するたびに表示されます。この下では、「分子/分母」を配置する「return」キーワードを利用します。したがって、除算の結果を返します。ここで、「main()」関数が呼び出されます。

その後、「num1」と「num2」が「int」変数として初期化され、それぞれ「89」と「0」が代入されます。次に、「double」データ型の「結果」を初期化します。ここでは「try」キーワードを利用します。この部分では、この「result」変数を追加し、この変数に「division()」関数を割り当てます。この関数に 2 つのパラメータ「num1」と「num2」を渡します。この下には、「division()」関数を適用した後に得られる「結果」が表示されます。この後、同じく「catch」を利用して「const char* msg」を配置し、先ほど追加したメッセージを表示します。

コード 2:

#include
を使用して 名前空間 標準 ;
ダブル 分割 ( 整数 分子 、 整数 分母 {
もし ( 分母 == 0 {
投げる 「ここではゼロ除算は不可能です!」 ;
}
戻る ( 分子 / 分母 ;
}
整数 主要 ( {
整数 番号1 = 89 ;
整数 番号2 = 0 ;
ダブル 結果 = 0 ;
試す {
結果 = 分割 ( 番号1、番号2 ;
コート << 結果 << 終わり ;
} キャッチ ( 定数 チャー * メッセージ {
そうですね << メッセージ << 終わり ;
}
戻る 0 ;
}

出力:
先ほど分母として挿入した数値は「0」です。したがって、コード内で例外が発生し、指定されたメッセージが表示されます。

例 3:

ここでは、「value」と「multiplier」を「int」データ型のパラメータとして配置する「multiplication()」関数を作成します。次に、ゼロに等しい乗数条件を追加する「if」を利用します。次に、ステートメントを追加する場所に「throw」を配置します。次に、前に宣言した「値 * 乗数」変数を配置する「return」があります。したがって、ここでは乗算結果を返します。

この後、「main()」を呼び出し、「int value1」と「int value2」をそれぞれ「34」と「0」の値で宣言します。ここでは「int m_res」も宣言され、「multiplication()」関数が呼び出されます。この関数を実行すると、結果が「m_res」変数に保存され、表示されます。続いて、「catch」関数を使用し、「const char* msg」を挿入して、以前に「throw」部分に追加したメッセージを表示します。

コード 3:

#include
を使用して 名前空間 標準 ;
ダブル 乗算 ( 整数 価値 、 整数 乗数 {
もし ( 乗数 == 0 {
投げる 「値にゼロを乗算しません!」 ;
}
戻る ( 価値 * 乗数 ;
}
整数 主要 ( {
整数 値1 = 3.4 ;
整数 値2 = 0 ;
整数 m_res ;
試す {
m_res = 乗算 ( 値1、値2 ;
コート << m_res << 終わり ;
} キャッチ ( 定数 チャー * メッセージ {
そうですね << メッセージ << 終わり ;
}
戻る 0 ;
}

出力 :
以前に入力した値には乗数として「0」が含まれているため、コードには例外があり、ここで通知が表示されます。

例 4:

ここでは、「multiply()」関数を構築し、「number1」と「number2」を「int」データ型のパラメーターとして渡します。次に、「if」演算子を使用して、ゼロ以下の乗数である条件を追加します。その後、「throw」があるべき場所にステートメントが追加されます。次に、乗算結果が「return」セクションに返されます。ここで、前に宣言した「number1 *number2」変数を挿入します。

次に、「main()」関数を呼び出し、「34」と「12」の値をそれぞれ「int newNumber1」と「int newNumber2」に割り当てます。ここでは、「int mResult」の宣言後に「multiply()」関数が呼び出されています。この関数の結果は「mResult」変数に保存され、次のように表示されます。次に、「catch」関数を使用し、「const char* msg」を追加して、「throw」セクションに書いたメッセージを表示します。

コード 4:

#include
を使用して 名前空間 標準 ;
ダブル かける ( 整数 番号1、 整数 2番 {
もし ( 2番 <= 0 {
投げる 「ゼロやマイナスの値は掛けません!」 ;
}
戻る ( 番号1 * 2番 ;
}
整数 主要 ( {
整数 新しい番号1 = 3.4 ;
整数 新しい番号2 = 12 ;
整数 m結果 ;
試す {
m結果 = かける ( newNum1、newNum2 ;
コート << 「掛け算の結果は」 << m結果 << 終わり ;
}
キャッチ ( 定数 チャー * メッセージ {
そうですね << メッセージ << 終わり ;
}
戻る 0 ;
}

出力:
追加する値は「12」で、これに条件を追加します。したがって、条件が true ではないため、「multiply()」関数が実行されます。乗算の結果が表示されます。ここで「try」部分が実行されます。

結論

このガイドでは、「トライキャッチ」の概念とコードについて詳しく説明します。私たちはこの「try-catch」の概念を徹底的に調査し、それが C++ プログラミングでどのように機能するかを示しました。エラーが見つかったときに「throw」という用語によって例外が作成されると定義し、これにより独自のコードを作成できるようになりました。 「catch」式を使用すると、「try」部分で例外が発生した場合に実行されるコード ブロックを指定できます。