タイトルの通り、Rubyで独自例外を定義するときはExceptionではなく、StandardError を継承するしきたりとなっています。 # `Exception`ではなく class MyError1 < Exception; end # `StandardError`. class MyError2 < StandardError; end理由をコードでみてみます。 Exception を継承した場合class MyError1 < Exception; end begin raise MyError1 rescue => e puts "Exception handled! #{e}" end # => MyError1: MyError1MyError1 がrescue節でハンドリングされてませんね。こうしてみるとどうでしょう。 class MyError1 < Excepti