Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【Ruby3.x】Exception::==()メソッドの使い方

==メソッドの使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

==メソッドは、自身と他のオブジェクトが等価であるかを比較するメソッドです。このメソッドは、RubyのExceptionクラスに属する例外オブジェクト同士の比較に特化しています。例外オブジェクトが等しいと判断されるのは、以下のいずれかの条件を満たす場合です。一つ目の条件は、メソッドを呼び出す側の例外オブジェクト(レシーバ)と、引数として渡された例外オブジェクトが、メモリ上で完全に同一のオブジェクトである場合です。二つ目の条件は、両方の例外オブジェクトが同じクラスに属しており、加えて、それぞれが保持しているエラーメッセージと、エラーが発生した際のプログラムの呼び出し履歴(バックトレース)が全て一致する場合です。これらの条件のいずれも満たさない場合は、等しくないと判断され、偽(false)を返します。この機能は、アプリケーションで発生する複数のエラーが、根本的に同じ問題から生じているのかどうかを識別するために活用できます。

構文(syntax)

1e1 = StandardError.new("Something went wrong")
2e2 = StandardError.new("Something went wrong")
3e1 == e2

引数(parameters)

req

  • other: Exception: 比較対象の例外オブジェクト

戻り値(return)

Boolean

2つの例外オブジェクトが同じ例外クラスであり、かつ同等の例外データを持っている場合に真(true)を返します。それ以外の場合は偽(false)を返します。

関連コンテンツ