Rubyの制御文(begin, rescue, ensure, exit など)がどのような動きがするのか知りたかったので、サンプルを作って確認してみました。
試したのはこんな感じ。
begin
exit
puts "0: never"
rescue SystemExit
puts "1: rescue"
ensure
puts "2: ensure"
end
puts "3: after begin block"
これをtest.rbとして保存し、動かすと結果はこんな感じです。
$ ruby test.rb
1: rescue
2: ensure
3: after begin block
exit すると、SystemExit が飛ぶ。。。という感じでしょうか。
ただし、end を抜けると次の命令文がある場合には処理が実行されるようです。
exit でいきなりプッツンするわけではないみたい。
覚えておこう。
Written with StackEdit.
0 件のコメント:
コメントを投稿