{category}

Ruby - カスタム例外

class CustomError < StandardError

クラス カスタムエラー ショウナリ スタンダードエラー(例外処理

意味 独自の例外クラスを定義


class CustomError < StandardErrorとは?

この構文は、独自の例外クラスを定義するために使用します。StandardErrorを継承することで、Ruby標準の例外処理メカニズムと互換性のあるカスタム例外を作成できます。

class CustomError < StandardErrorの具体的な使い方

カスタム例外の定義と使用例

class CustomError < StandardError
  attr_reader :error_code

  def initialize(message, error_code)
    super(message)
    @error_code = error_code
  end
end

begin
  raise CustomError.new("カスタムエラーが発生しました", 1001)
rescue CustomError => e
  puts "捕捉したカスタム例外: #{e.message}"
  puts "エラーコード: #{e.error_code}"
end

👇出力結果

捕捉したカスタム例外: カスタムエラーが発生しました
エラーコード: 1001

この例では、CustomErrorという独自の例外クラスを定義しています。この例外クラスはメッセージに加えてエラーコードも持ちます。例外を発生させ、rescue節で捕捉して、メッセージとエラーコードを表示しています。

class CustomError < StandardErrorに関するよくある質問

Q. カスタム例外を定義する理由は?
A. カスタム例外を定義することで、アプリケーション固有のエラー状況を明確に表現し、より詳細なエラー処理が可能になります。また、コードの可読性と保守性が向上します。
Q. StandardErrorを継承する理由は?
A. StandardErrorを継承することで、Rubyの標準的な例外処理メカニズムと互換性を持つカスタム例外を作成できます。これにより、rescue節で適切に捕捉され、一般的な例外処理フローに組み込むことができます。
Q. カスタム例外にメソッドを追加できる?
A. はい、カスタム例外クラスに独自のメソッドやプロパティを追加できます。例: class CustomError < StandardError attr_reader :error_code def initialize(message, error_code) super(message) @error_code = error_code end end

class CustomError < StandardErrorが学べる書籍の紹介

「プログラミング単語帳」を使って、プログラミングの単語を英単語のように学習してみませんか?
プログラミング単語帳には、Rubyのclass CustomError < StandardErrorやcatch、begin、throw、などのような実務でよく使われる単語が数百以上収録されています。
この書籍には、プログラミングの単語の意味や読み方、単語の使い方がわかる例文などが掲載されており、いつでもどこでもプログラミングの学習ができます。

よく使われる単語にだけ絞って学習することができるので、効率的にプログラミングが学習できます。

1日5分の暗記でプログラミンが身に付く!プログラミング単語帳 公式ストアで発売中!

HTML編、CSS編、JavaScript編、PHP編、Ruby編、その他単語編の6シリーズ分が公式ストアにて販売中です。気になった方はぜひ購入してみてください。


Rubyを学べる「プログラミング単語帳」アプリ

プログラミング単語帳がアプリになりました!Rubyはもちろん、10種類のプログラミング言語の中から、よく使われる単語をスマホで学習できます。

収録単語は2,000単語以上!
現在は、HTML、CSS、JavaScirpt、PHP、Laravel、Ruby、Python、MySQL、Linux、など10カテゴリーの単語帳が1つのアプリに収録されています。

いつでも、どこでも、隙間時間を有効活用して、プログラミングを効率的に学べるので、ぜひダウンロードしてみてください。

2024年7月アップデート情報:「Laravel」カテゴリーが追加されましました!

2024年8月アップデート情報:「MySQL」「Linux」カテゴリーが追加されましました!


関連するそのほかの単語

catch

スコープを越えた大域脱出

種類: 例外の捕捉と発生

begin

例外処理の開始

種類: 例外の基本

throw

例外を意図的に発生させる

種類: 例外の捕捉と発生

instance_variable_set

インスタンス変数に値を設定

種類: オブジェクト内観

join

配列を文字列に結合する

種類: 文字列操作