In Files

  • error.c

Parent

SystemExit

Public Class Methods

new(status=0) => system_exit click to toggle source

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

Public Instance Methods

status => fixnum click to toggle source

Return the status value associated with this system exit.

 
               static VALUE
exit_status(VALUE exc)
{
    return rb_attr_get(exc, rb_intern("status"));
}
            
success? => true or false click to toggle source

Returns true if exiting successful, false if not.

 
               static VALUE
exit_success_p(VALUE exc)
{
    VALUE status = rb_attr_get(exc, rb_intern("status"));
    if (NIL_P(status)) return Qtrue;
    if (status == INT2FIX(EXIT_SUCCESS)) return Qtrue;
    return Qfalse;
}