広告スペース(バナー)
💎Ruby レッスン
基本文法の基礎8
データ構造とオブジェクト指向7
構文の基本を深める9
関数とデータ構造の応用9
アルゴリズムとテストの基礎8
文字列・数値操作の応用8
実務で役立つ機能8
アルゴリズム練習問題10
レッスン 10 / 68

エラー処理(begin...rescue)

このレッスンでは、Rubyのbegin...rescueによるエラー処理を学び、想定外の不具合が起きてもプログラム全体を止めずに動かし続けられるようになることを目標にします。「Ruby begin rescue 使い方」で調べている方向けです。

raiseで例外を発生させ、begin / rescueで受け止めます。「万が一失敗しても、代わりの行動をあらかじめ決めておく」という保険のような仕組みです。

サンプルコードでは、divideメソッドの中で0で割ろうとした場合にraise "0で割ることはできません" if b == 0で例外を発生させています。ifを後ろに置く「後置if」という書き方も、Rubyらしい簡潔な文法の1つです。

初心者がよくつまずくのが、メソッドの中でbeginを省略できる仕様です。beginを省略できる書き方もあり、シンプルにエラー処理を書けますが、慣れないうちはbeginがどこにあるのか探して混乱することがあります。

例外オブジェクトにはmessageというメソッドがあり、エラーの詳細な内容を取得できます。rescue => eという書き方で、発生した例外をeという変数として受け取り、内容を確認できます。

📖 お手本コード
✍️ あなたのコード
コードを書いたら「実行する」を押してください

🧪 このサイトではRubyを直接コンパイル・実行できないため、お手本コードと同じ内容を入力できたかをその場で判定します(採点はブラウザ内だけで行われ、どこにも送信されません)。

🎯
ここまでできればゴール達成!
0で割ろうとしてもクラッシュしない、安全な電卓プログラムが作れるようになります。
広告スペース(バナー)
広告スペース(記事内)