Ruby/Rubyの基礎知識

Rubyの例外処理の基本(3ページ目)

Rubyがプログラム中で発生するエラーを扱う方法、例外処理の基本を解説します

橋本 拓也

執筆者:橋本 拓也

Rubyガイド

メソッド内のrescue

前ページまでは「begin...end 内のブロックで起こった例外を補足する」としてきましたが、メソッド定義内においてはその限りではありません。明示的に begin...end を指定しない場合、メソッドのdef ... end が捕捉対象ブロックとみなされます。

rescueした後に再度raiseしなおす

実用コードにおいては、rescueで例外を補足したものの、ある条件ではやはり例外を上げてプログラムを停止させるのが正しい(あるべき)処理である、というケースが考えられます。そのような処理は、rescue節の中で補足した例外オブジェクトを引数にしてもう一度raiseすることで実現されます。

後置rescue

実のところ、例外捕捉対象となるコードが1行の場合は、begin...end および rescue 節を書く必要すらなく、if文のように後置記法のrescueを使うことが出来ます。例を見たほうがわかりやすいので、以下のコードを見てください。

valueには本来do_something メソッドの返り値が入りますが、do_something内で例外が起こった場合は後置rescueにより補足され、valueにはnilが束縛されることとなります。

以上

以上がRubyの例外処理の基本です。例外処理に関しては言語の「決め」が大きいので、他の言語と比較することで理解が深まっていくのではないかと思います。

【編集部おすすめの購入サイト】
Amazonで Ruby 関連の書籍をチェック!楽天市場で Ruby 関連の書籍をチェック!
  • 前のページへ
  • 1
  • 2
  • 3
※記事内容は執筆時点のものです。最新の内容をご確認ください。
※OSやアプリ、ソフトのバージョンによっては画面表示、操作方法が異なる可能性があります。

あわせて読みたい

あなたにオススメ

    表示について

    カテゴリー一覧

    All Aboutサービス・メディア

    All About公式SNS
    日々の生活や仕事を楽しむための情報を毎日お届けします。
    公式SNS一覧
    © All About, Inc. All rights reserved. 掲載の記事・写真・イラストなど、すべてのコンテンツの無断複写・転載・公衆送信等を禁じます