Rubyで例外を起こすためのraiseとfailの違い
こんにちは!kossyです!
さて、今回はRubyで例外を起こすためのraiseとfailの違いについて、
ブログに残してみたいと思います。
両者に違いはない
調べてみましたが、raiseとfailには処理の違いはないようです。
Rubyスタイルガイドでは、raiseを使うことを推奨しているようです。
irbでも挙動を確かめてみました。
# StandardError例外をthrow irb(main):001:0> fail StandardError Traceback (most recent call last): StandardError (StandardError) irb(main):002:0> raise StandardError Traceback (most recent call last): StandardError (StandardError) # 第二引数を渡しても挙動は一緒 fail StandardError, 'エラーです' Traceback (most recent call last): StandardError (エラーです) irb(main):004:0> raise StandardError, 'エラーです' Traceback (most recent call last): StandardError (エラーです)
チームのコーディング規約に従うべきだとは思いますが、
Rubyコミュニティで一般的なのはraiseメソッドの方みたいなので、
特にこだわりがなければraiseメソッドの方を使えばいいかと思います。
勉強になりました。
参考にさせていただいた記事
この場を借りて御礼を申し上げます。