【Ruby3.x】Thread::report_on_exception=()メソッドの使い方
report_on_exception=メソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
report_on_exception=メソッドは、RubyのThreadクラスにおいて、スレッド内で発生した未捕捉の例外(エラー)をどのように報告するかを設定するメソッドです。
Rubyプログラムでは、複数の処理を並行して実行する「スレッド」を用いることがありますが、スレッド内で適切に処理されなかった例外を「未捕捉の例外」と呼びます。このメソッドは、そうした未捕捉の例外が発生した際に、その情報を標準エラー出力(通常は画面)に自動的に表示するかどうかを制御します。Ruby 3以降では、デフォルトでtrueが設定されており、未捕捉の例外が起きた場合は自動的に報告されます。
このメソッドにfalseを設定すると、スレッドが例外によって停止しても、その例外情報は画面に表示されなくなります。これは、開発者が独自のエラー処理システムを使用する場合や、特定の例外の報告を意図的に抑制したい場合に利用されます。この設定により、開発者はスレッドのエラー報告方法を柔軟に管理し、アプリケーションのデバッグやエラーハンドリング戦略の構築に役立てることができます。
構文(syntax)
1Thread.report_on_exception = true
引数(parameters)
req
- req: 例外発生時の報告方法を制御するオブジェクト
戻り値(return)
設定された値
このメソッドは、例外発生時の報告先を設定します。設定された値がそのまま戻り値として返されます。