2009年7月7日火曜日

rubyのちょっとしたメモ2 [例外処理]

何度調べてもすぐ忘れる(にわとり、いや、ひよこか)からメモする

[例外処理]

begin
# 例外が発生する可能性のある処理
rescue => e
# 例外が発生したときに行う処理、eには捕捉した例外が入る
else
# 例外が発生しなかったときに行う処理
ensure
# 例外が発生したかどうかに関わらず、必ず行う処理
end

<ソース>
------------------------------------------------------------
begin
 open('non-exist.txt')
rescue => error
 puts error
else
 puts 'ok'
ensure
 puts 'end'
end

begin
 open('exist.txt')
rescue => error
 puts error
else
 puts 'ok'
ensure
 puts 'end'
end
------------------------------------------------------------

<実行結果>
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
No such file or directory - non-exist.txt
end
ok
end
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


こんなことも覚えられない(笑)

0 件のコメント:

コメントを投稿