Raised by exit
to initiate the termination of the script.
Methods
Class Public methods
SystemExit.new(status=0) → system_exit
Link
Create a new SystemExit
exception with the given status.
Source: show
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; }
Instance Public methods
system_exit.status → fixnum
Link
Return the status value associated with this system exit.
Source: show
static VALUE exit_status(VALUE exc) { return rb_attr_get(exc, rb_intern("status")); }
system_exit.success? → true or false
Link
Returns true
if exiting successful, false
if not.
Source: show
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; }