標準C++例外のキャッチ方法
標準C++例外をキャッチして処理するには、 try-catch ステートメントブロックを使用します。標準C++例外を処理するための一般的な手順を以下に示します。
- 例外が発生する可能性のあるコードブロックの前にtryキーワードを使用してtryブロックを開始します。
- 例外をスローする可能性のあるコードはtryブロックに書きます。
- catchキーワードを使って特定のタイプの例外をキャッチする1つ以上のcatchブロックを定義する。
- キャッチした例外はcatchブロックで処理します。
標準C++の例外をキャプチャして処理する方法を示す簡単な例を以下に示します。
#include <iostream>
int main() {
try {
// 可能会抛出异常的代码
int a = 10;
int b = 0;
int result = a / b;
std::cout << "Result: " << result << std::endl;
}
catch (const std::exception& e) {
// 捕获到的异常处理
std::cout << "Exception caught: " << e.what() << std::endl;
}
return 0;
}
与えられた例では、ゼロで整数を割っていて、これはstd::exceptionのサブクラスである標準C++例外std::runtime_errorを発生させます。catchブロックでは、この例外をキャッチし、e.what()を使って例外のエラー情報を取得して処理しています。
異常処理は、プログラムのエラーケースをより適切に処理できる優れたプログラミング手法であることに注意してください。ただし、異常処理においては、異常の種類を慎重に検討し、異常の種類に応じて異なる処理方法を採用する必要があります。