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?

More than 1 year has passed since last update.

例外クラスの継承関係

Posted at

記事内容

現在Rubyを学習中。
個人的に大事だと思ったものを残す。

rescue節での例外クラスに継承関係について、認識しておくべき点をまとめる。

例外クラスの継承関係

例外クラスの継承元はExceptionクラスになる。
一番の親クラスになり、最初に置いてしまうと、後の子クラスが反応しないことに注意が必要。

順番を間違えた例

rescue.rb

begin
#NoMethodErrorが発生する箇所
rescue NameError
puts "NameError"
rescue NoMethodError
puts "NoMethodError"
end

上記コードでは親クラスであるNameErrorが補足されるとNoMethodErrorも捕捉されるため
2個目のrescue節は実行されることがないままとなる。
順番を置き換えることで状況は改善される。

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?