例外処理のスクリプト例

スポンサーリンク
スポンサーリンク
ライフスタイル関連のコンテンツ
お金 | 仕事 | 勉強 | プライベート | 健康 |
プログラミング関連のコンテンツ
C言語/C++入門 | Ruby入門 | Python入門 | プログラミング全般

例外を発生し、例外オブジェクトから例外の内容を取得してみるスクリプトです。

スポンサーリンク

ex_text.rb

begin
    filenames = ['hello.dat', 'no_such_file.dat']
    filenames.each { |filname|
        file = open(filname)
        puts file.read
        file.close
    }
rescue => ex
    puts ex.class         # 例外の種類
    puts ex.message        # 例外メッセージ
    puts ex.backtrace    # 例外発生の位置情報
end

ファイルhello.datは、以下のように存在します。

hello.dat

Hello, Yamada !
Today is beautiful day !

しかし、filenames配列で指定された2つ目の要素、ファイルno_such_file.datは、存在しないファイル名です。
上記スクリプトの実行結果。

Hello, Yamada !
Today is beautiful day !
Errno::ENOENT
No such file or directory - no_such_file.dat
ex_test.rb:4:in `initialize'
ex_test.rb:4:in `open'
ex_test.rb:4
ex_test.rb:3:in `each'
ex_test.rb:3

例外の種類、メッセージ、位置情報を取得できています。

スポンサーリンク
 
スポンサーリンク