カスタム例外
- 独自に定義する例外クラス
- 多くの場合はStandardErrorを継承する
定義
- 例外クラスを継承する
class StatusError < RunTimeError; end
class IdError < StandardError; end
- デフォルトメッセージを設定する
class FileError < StandardError
def initialize(message = 'ファイルエラーが発生しました')
super(message)
end
end
呼び出す
raise FileError
#=> FileError: ファイルエラーが発生しました
- デフォルトメッセージの設定と呼び出しを同時に行う場合は下記のように書く
raise FileError.new("ファイルエラーが発生しました")
メリット
- エラー内容が直感的に分かりやすくなり、デバッグしやすくなる
RuntimeError: "...."
RuntimeError: "...."
RuntimeError: "...."
StatusError: "...."
IdError: "...."
FileError: "...."
参考