?
This document uses PHP Chinese website manual Release
當(dāng)?shù)竭_腳本尾部或出現(xiàn)了未能捕捉到的異常時,Ruby會結(jié)束程序(當(dāng)調(diào)用函數(shù)exit、abort或?qū)χ骶€程發(fā)出Thread.kill命令時,會引發(fā)SystemExit異常)。結(jié)束程序時會依次進行下列處理。
在ObjectSpace.define_finalizer中,若注冊了finalizer的話就執(zhí)行它(執(zhí)行順序不定).若在執(zhí)行finalizer的過程中,發(fā)生了大規(guī)模退出的話,就中斷finalizer的運行,但腳本仍將繼續(xù)運行.
使用exit(3)結(jié)束程序.
此時傳來的狀態(tài)值取決于程序的結(jié)束方法.例如,
使用exit!函數(shù)時,將只執(zhí)行exit(2),而不會執(zhí)行上述任何步驟.