Rubyでは、独自のエラー処理が必要な場合に「カスタム例外(独自例外クラス)」を作成して、より明確で意図した例外処理を実装できます。Rubyの例外はすべて Exception クラスを継承したオブジェクトですが、一般的には StandardError を継承してカスタム例外を定義するのが一般的です。
1. カスタム例外クラスの作成方法
カスタム例外クラスは以下のように定義します。
このように StandardError を継承することで、通常の rescue ブロックで補足可能な例外として機能します。
2. raise によるカスタム例外の発生
定義したカスタム例外を使用して、意図的に例外を発生させることができます。
このコードでは、b が 0 のときに MyCustomError を発生させています。
3. rescue によるカスタム例外の捕捉
発生したカスタム例外は、通常の例外と同様に rescue 節で捕捉できます。
この場合、MyCustomError が発生するとメッセージが表示され、プログラムが異常終了しないように制御できます。
4. カスタム例外に独自の属性やメソッドを追加する
例外クラスには独自の情報を付加することも可能です。
このように、エラーの種類や状態に応じて追加情報を持たせることで、より高度なエラーハンドリングが実現できます。
まとめ
| 要素 | 説明 |
|---|---|
| 定義方法 | class CustomError < StandardError |
| 発生方法 | raise CustomError, "エラーメッセージ" |
| 捕捉方法 | rescue CustomError => e |
| 拡張性 | 属性やメソッドの追加が可能 |
Rubyにおけるカスタム例外は、エラーの意図を明確にし、プログラムの堅牢性と保守性を高めるための重要な手法です。
生成日:2025/05/03