【Ruby3.x】Exception::exception()メソッドの使い方
exceptionメソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
exceptionメソッドは、例外オブジェクトを生成または取得するメソッドです。このメソッドは、Exceptionクラス、あるいはそのサブクラスのインスタンス、またはクラス自身に対して呼び出すことができます。
引数を指定せずにexceptionメソッドを呼び出した場合、呼び出し元の例外オブジェクト自身をそのまま返します。これは、すでに存在する例外オブジェクトをそのまま利用したい場合に役立ちます。
一方、引数として文字列を渡した場合、その文字列をエラーメッセージとして保持する新しい例外オブジェクトを生成して返します。この新しく生成される例外オブジェクトは、メソッドが呼び出されたクラスと同じクラスのインスタンスとなります。例えば、ArgumentError.exception("不正な引数です")のように呼び出すと、「不正な引数です」というメッセージを持つArgumentErrorのインスタンスが作成されます。
このメソッドは、プログラムの特定の状況に応じて、既存の例外オブジェクトを再利用したり、あるいは異なるメッセージを持つ新しい例外オブジェクトを動的に作成したりする必要がある場合に非常に有用です。特に、特定のメッセージを持つ例外オブジェクトを明示的に生成して、raiseキーワードと組み合わせて利用する際によく使われます。これにより、エラー処理の柔軟性が向上し、状況に応じたより分かりやすいエラーメッセージを効率的に提供できるようになります。
構文(syntax)
1Exception.new("original message").exception("new message")
引数(parameters)
message = nil
- message: エラーメッセージを指定する文字列 (nil の場合はメッセージなし)
戻り値(return)
Exception
このメソッドは、例外オブジェクト自身を返します。