●学校情報

講座一覧・募集状況

学習方法

学習サポート

修了生の評価

受講生の横顔

当学院について

入学相談

入学手続

 

●講座情報

技術者養成講座

プログラミング講座

WEB講座

情報処理試験講座

Excel講座

Access講座

 

●関連コラム

関連コラム

関連用語集

 

logo

 

 

関連用語集

Rubyの例外処理(Exception Handling)とは?エラー発生時の安全な対処法

Rubyでは、実行中に発生する予期せぬエラー(例外)を安全に処理するために、例外処理の仕組みが用意されています。 これにより、プログラムの強制終了を防ぎ、エラーメッセージを制御できます。

基本構文:begin 〜 rescue

begin
  # エラーが起こるかもしれない処理
  num = 10 / 0
rescue ZeroDivisionError => e
  puts "0で割ることはできません!"
  puts "エラー内容:#{e.message}"
end

rescue では、発生した例外の種類(この例では ZeroDivisionError)を指定し、その例外に対する処理を行います。

複数の例外を扱う

begin
  raise IOError.new("ファイルが見つかりません")
rescue ZeroDivisionError
  puts "ゼロ割りエラー"
rescue IOError => e
  puts "IOエラー:#{e.message}"
rescue => e
  puts "その他のエラー:#{e.class}"
end

複数の例外を rescue で分岐して処理できます。 rescue => e は、すべての例外のキャッチに使える便利な書き方です。

ensure 節:後始末の処理

begin
  puts "処理を開始します"
  raise "エラー発生!"
rescue
  puts "エラーを処理しました"
ensure
  puts "後始末を行います"
end

ensure 節は、例外の有無に関わらず必ず実行される部分です。 ファイルのクローズ処理や接続の切断などに使われます。

raise で例外を発生させる

def divide(a, b)
  raise ArgumentError, "0で割ることはできません" if b == 0
  a / b
end

begin
  puts divide(10, 0)
rescue => e
  puts "エラー:#{e.message}"
end

raise を使えば、自分で例外を発生させることもできます。 主に不正な引数や状態が検出された場合に使います。

rescue 修飾子の省略記法

value = Integer("abc") rescue 0
puts value  # → 0

簡単な処理なら、rescue後ろに付ける省略記法が便利です。

標準の例外クラス

  • StandardError(多くの例外の親)
  • RuntimeError(一般的なエラー)
  • ArgumentError(引数に関するエラー)
  • ZeroDivisionError(0割)
  • IOError(入出力関連)

必要に応じて、独自の例外クラスを定義することも可能です。

まとめ

Rubyの例外処理(Exception Handling)は、予期しないエラーに安全に対応するための仕組みです。 begin-rescue を使って、プログラムの安定性と信頼性を高めましょう。

ensure で後始末、raise で意図的にエラー発生、rescue で個別対応など、例外処理を正しく使い分けることが大切です。

 

Ruby関連用語集

−−−−−  Ruby  −−−−−

Rubyのオブジェクト指向とは?クラスやメソッドの仕組みをわかりやすく解説

Rubyのクラス(Class)とは?オブジェクトの設計図を学ぼう

Rubyのモジュール(Module)とは?コードを整理・共有する仕組みを学ぼう!

Rubyのメソッド(Method)とは?定義と使い方をやさしく解説

Rubyのブロック(Block)とは?繰り返しやコールバック処理に使える便利な仕組み

Rubyのイテレータ(Iterator)とは?繰り返し処理の基本をマスターしよう!

RubyのEnumerableモジュールとは?便利な繰り返し処理を一気に習得!

RubyのProc(プロック)とは?ブロックをオブジェクト化して使いこなそう

RubyのLambda(ラムダ)とは?Procとの違いも含めてやさしく解説!

Rubyのシンボル(Symbol)とは?文字列との違いと使いどころをわかりやすく解説

Rubyのハッシュ(Hash)とは?キーと値のペアでデータを扱う基本構造

Rubyの配列(Array)とは?基本構文と便利な操作方法をマスターしよう!

Rubyのスコープ(Scope)とは?変数の見える範囲を理解しよう

Rubyのインスタンス変数(@変数)とは?クラスでデータを保持する基本

Rubyのクラス変数(@@変数)とは?全インスタンスで共有する値を管理する

Rubyの定数(Constant)とは?値を固定するための書き方と使い方

Rubyのグローバル変数($変数)とは?使い方と注意点をやさしく解説

Rubyのself(自己参照)とは?使い方と意味をやさしく解説!

Rubyの継承(Inheritance)とは?コードの再利用と拡張の基本

Rubyのミックスイン(Mixin)とは?モジュールで機能を共有する方法

Rubyのメソッドのオーバーライド(Override)とは?継承したメソッドを再定義しよう

Rubyの例外処理(Exception Handling)とは?エラー発生時の安全な対処法

Rubyのbegin-rescue-end構文とは?エラーを安全に処理する基本構文

Rubyのyield(ブロック呼び出し)とは?ブロックの使い方と柔軟なメソッド設計

Rubyのrequire / loadとは?外部ファイルの読み込み方法と使い分け

Rubyのgem(RubyGems)とは?便利なライブラリの管理方法を解説!

Bundlerとは?Rubyのgemを簡単に管理できる便利ツール

RubyのRakeとは?ビルドやタスクを自動化する便利ツールを解説!

IRB(Interactive Ruby)とは?Rubyを手軽に試せる対話型ツール

Rails(Ruby on Rails)とは?Webアプリ開発の強力フレームワーク