C++ 例外は、予期しないイベントを処理するためのメカニズムです。例外は try ブロックを通じてキャッチされ、catch ブロックを使用して処理されます。まず、 throw ステートメントを使用して例外をスローします。例外の種類には、標準ライブラリ例外クラスまたはカスタム例外クラスを指定できます。実際のケースでは、除算器がゼロの場合、除算関数は runtime_error をスローし、例外は main 関数の catch ブロックを通じてキャッチされて処理されます。
C++ 例外は、予期しないイベントを処理するためのメカニズムです。これにより、プログラムはクラッシュを引き起こすことなくエラーを適切に処理できるようになります。
例外をキャッチするには、次の構文を使用します:
try { // 容易抛出异常的代码 } catch (exception& e) { // 异常处理代码 }
try
ブロックには、例外をスローする可能性のあるコードが含まれています。例外がスローされた場合、制御は対応する catch
ブロックに移されます。 catch
ブロック パラメーターは、特定の例外タイプを処理するために使用される参照を指定します。 try
块包含可能抛出异常的代码。如果抛出异常,控制权将转移到相应的 catch
块。catch
块参数指定用于处理特定异常类型的引用。
可以通过使用 throw
语句来抛出异常:
throw exception();
exception
可以是标准库异常类(例如 runtime_error
)或自定义异常类。
考虑以下代码示例:
#include <exception> int divide(int a, int b) { if (b == 0) { throw std::runtime_error("除数不能为零"); } return a / b; } int main() { try { int result = divide(10, 0); std::cout << result << std::endl; } catch (const std::runtime_error& e) { std::cout << "错误:" << e.what() << std::endl; } }
在 main
函数中,我们调用 divide
函数,并尝试捕获可能抛出的任何异常。如果除数为零,divide
函数会抛出一个 runtime_error
throw
ステートメントを使用してスローできます。 🎜rrreee🎜Exception
は、標準ライブラリの例外クラス (runtime_error など) にすることができます。コード >) またはカスタム例外クラス。 🎜🎜実践例🎜🎜 次のコード例を考えてみましょう: 🎜rrreee🎜 <code>main
関数で、divide
関数を呼び出し、スローされる可能性のある例外をキャッチしようとします。除算器がゼロの場合、divide
関数は runtime_error
をスローし、エラー メッセージを表示します。 🎜以上がC++ 例外をキャッチして処理するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。