0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Ruby】独自に例外クラスを定義する

Posted at

カスタム例外

  • 独自に定義する例外クラス
  • 多くの場合は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: "...."

参考

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?