icon
icon

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

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

テックアカデミーマガジンは受講者数No.1のプログラミングスクール「テックアカデミー」が運営。初心者向けにプロが解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。 ※ アンケートモニター提供元:GMOリサーチ株式会社 調査期間:2021年8月12日~8月16日  調査対象:2020年8月以降にプログラミングスクールを受講した18~80歳の男女1,000名  調査手法:インターネット調査

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

 
そもそもRubyについてよく分からないという方は、Rubyとは何なのか解説した記事を読むとさらに理解が深まります。

なお本記事は、TechAcademyのオンラインブートキャンプRuby講座の内容をもとに紹介しています。

 

田島悠介

今回は、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では、初心者でもRuby on Railsを使ったプログラミングを習得できるオンラインブートキャンプRuby講座を開催しています。

挫折しない学習方法を知れる説明動画や、現役エンジニアとのビデオ通話とチャットサポート、学習用カリキュラムを体験できる無料体験も実施しているので、ぜひ参加してみてください。