Ruby 2.0.0 リファレンスマニュアル > ライブラリ一覧 > 組み込みライブラリ > Kernelモジュール > abort
abort(message = $!.message) -> ()[permalink][rdoc]Ruby プログラムをエラーメッセージ付きで終了します。終了ステータスは 1 固定です。
このメソッドと Kernel.#exit との違いは、プログラムの終了ステー タスが 1 (正確にはCレベルの定数 EXIT_FAILURE の値)固定であることと、 引数を省略した呼び出し時に $! が nil でなければその例外の メッセージを標準エラー出力 $stderr に出力することです。
引数 message を指定すると SystemExit クラスの Exception#message に message を設定し て標準エラー出力に出力します。
puts 'start'
begin
puts 'start1...'
abort "error1"
rescue SystemExit => err
puts "end1 with #{err.inspect}"
end
begin
puts 'start2...'
$! = RuntimeError.new
abort
ensure
puts 'end2...'
end
puts 'end' #実行されない
#=> start
# start1...
# end1 with #<SystemExit: error1>
# start2...
# end2...
#終了ステータス:1
#(標準エラー出力)
#=> error1
# ..:12: RuntimeError (RuntimeError)
[SEE_ALSO] Kernel.#exit,Kernel.#exit!