Extended maintenance of Ruby 1.9.3 ended on February 23, 2015. Read more
Raised by exit
to initiate the termination of the script.
Create a new SystemExit
exception with the given status.
static VALUE exit_initialize(int argc, VALUE *argv, VALUE exc) { VALUE status = INT2FIX(EXIT_SUCCESS); if (argc > 0 && FIXNUM_P(argv[0])) { status = *argv++; --argc; } rb_call_super(argc, argv); rb_iv_set(exc, "status", status); return exc; }
Return the status value associated with this system exit.
static VALUE exit_status(VALUE exc) { return rb_attr_get(exc, rb_intern("status")); }
Returns true
if exiting successful, false
if not.
static VALUE exit_success_p(VALUE exc) { VALUE status_val = rb_attr_get(exc, rb_intern("status")); int status; if (NIL_P(status_val)) return Qtrue; status = NUM2INT(status_val); if (WIFEXITED(status) && WEXITSTATUS(status) == EXIT_SUCCESS) return Qtrue; return Qfalse; }