【Ruby3.x】Object::SystemExit定数の使い方
SystemExit定数の使い方について、初心者にもわかりやすく解説します。
基本的な使い方
SystemExit定数は、Rubyプログラムを意図的に終了させる際に使用される、特別な例外クラスを表す定数です。これは、プログラムに何らかのエラーが発生したことを示す通常の例外(エラー)とは異なり、開発者が意図的にプログラムの実行を停止させるときに発生するものです。
具体的には、RubyのKernel#exitメソッドが呼び出されたときに、このSystemExit例外が内部で発生し、プログラムの終了処理が開始されます。例えば、コマンドラインツールで処理が完了した後にexit(0)と呼び出すことで、正常終了のステータス(0)と共にプログラムを終了させることができます。この終了ステータスは、SystemExitオブジェクトに保持されており、プログラムがどのように終了したかを外部のプロセス(例えばシェルスクリプトなど)に伝えるために重要な情報となります。
SystemExitは、他の一般的なエラーを表すStandardErrorクラスのサブクラスではありません。Exceptionクラスの直接のサブクラスであるため、通常のrescue StandardErrorでは捕捉されず、プログラムは終了します。もしSystemExitを捕捉して終了処理の前に特定の処理を行いたい場合は、rescue SystemExitまたはrescue Exceptionと明示的に記述する必要があります。この仕組みにより、開発者は意図的な終了処理と、予期せぬエラーによる終了処理を明確に区別して扱うことができます。
構文(syntax)
1raise SystemExit
引数(parameters)
引数なし
引数はありません
戻り値(return)
Class
SystemExit は、Ruby プログラムの終了を通知するために使用される例外クラスそのものを返します。