Ruby 1.9.2 リファレンスマニュアル > ライブラリ一覧 > library _builtin > module Kernel > abort
abort(message = $!.message) -> ()
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!