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;
}