例外処理を行う!Rubyでbeginを使う方法【初心者向け】

初心者向けにRubyでbeginを使う方法について解説しています。最初にbegin ~ rescue ~ endによる例外処理の仕組みと基本の構文を学び、続いて実際の例を書きながら具体的な活用方法を覚えていきましょう。

TechAcademyマガジンはオンラインのプログラミングスクールTechAcademy [テックアカデミー]が運営する教育×テクノロジーのWebメディアです。初心者でもすぐ勉強できる記事が2,000以上あります。

Rubyでbeginを使う方法について解説します。

Rubyについてそもそもよく分からないという方は、Rubyとは何なのか解説した記事をまずご覧ください。

 

なお本記事は、TechAcademyのWebアプリケーションオンラインブートキャンプの内容をもとに紹介しています。

 

田島悠介

今回は、Rubyに関する内容だね!

大石ゆかり

どういう内容でしょうか?

田島悠介

beginの使い方について詳しく説明していくね!

大石ゆかり

お願いします!

 

beginで行う例外処理とは

Ruby では、ライブラリの内部や Ruby の使い方で何かエラーが発生した場合に、例外処理という方法で、エラーを通知します。例外処理では、エラーが起きた場所で例外オブジェクトを生成し、呼び出し元に返します。

例外オブジェクトは、それを処理しない場合は、順番にさらに上の呼び出し元に返されていき、最終的には ruby プログラムの実行がストップします。

プログラムの実行をストップさせないためには、begin ~ rescue ~ end と呼ばれるブロックを作成して、例外オブジェクトを「捕捉」して適切な処理を行わないといけません。

 

beginの書き方

begin ~ rescue の間に通常の処理を書き、rescue ~ end の中に、例外発生時の処理を書きます。

begin
  通常の処理
rescue
  エラー発生時の処理
end

rescue には、捕捉する例外の種類を書くことが出来ます。また、複数の rescue を書くことも出来ます。

begin
  通常の処理
rescue ArgumentError
  エラー発生時の処理
rescue StandardError
  エラー発生時の処理
end

 

[PR] Rubyのプログラミングで挫折しない学習方法を動画で公開中

実際に書いてみよう

例外処理は、ユーザの入力などで想定外の入力があった場合などに、エラー処理を一箇所にまとめて書くときに使います。

エラー処理を書くことで、Ruby のエラーをユーザに分かりやすい形に変換することが出来ます。

ソースコード

begin
  puts "100円を何人で分けますか?数字で入力してください。"
  num = gets

  puts "1人あたり: #{100 / num.to_i}"
  puts "余り: #{100 % num.to_i}"
rescue ZeroDivisionError
  puts "ERROR: 数字を入れてください"
end

 

監修してくれたメンター

吉本 敏洋

フリーランスとして、WEB系ベンチャーでRailsアプリの開発を行っています。

フリーランスとしてRailsの案件に関わるようになって、10年以上になります。

 

大石ゆかり

内容分かりやすくて良かったです!

田島悠介

ゆかりちゃんも分からないことがあったら質問してね!

大石ゆかり

分かりました。ありがとうございます!

TechAcademyでは初心者でも最短4週間でエンジニアになれるRuby on Railsオンラインブートキャンプを開催しています。

現役エンジニアがパーソナルメンターとして受講生に1人ずつつき、マンツーマンのメンタリングで学習をサポートし、最短4週間でオリジナルWebサービスを開発することが可能です。

また、現役エンジニアから学べる無料のプログラミング体験会も実施しているので、ぜひ参加してみてください。