Exception: SystemExit
Overview
Raised by exit
to initiate the termination of the script.
Instance Method Summary collapse
-
#initialize(*args) ⇒ Object
constructor
Create a new
SystemExit
exception with the given status and message. -
#status ⇒ Integer
Return the status value associated with this system exit.
-
#success? ⇒ Boolean
Returns
true
if exiting successful,false
if not.
Methods inherited from Exception
#==, #backtrace, #backtrace_locations, #cause, #detailed_message, #exception, exception, #full_message, #inspect, #message, #set_backtrace, #to_s, to_tty?
Constructor Details
#new ⇒ Object #new(status) ⇒ Object #new(status, msg) ⇒ Object #new(msg) ⇒ Object
Create a new SystemExit
exception with the given status and message. Status is true, false, or an integer. If status is not given, true is used.
1917 1918 1919 1920 1921 1922 1923 1924 1925 1926 1927 1928 1929 1930 1931 1932 1933 1934 1935 1936 1937 1938 1939 1940 1941 1942 1943 1944 1945 1946 1947 1948 1949 1950 1951 1952 1953 1954 1955 1956 1957 |
# File 'error.c', line 1917 static VALUE exit_initialize(int argc, VALUE *argv, VALUE exc) { VALUE status; if (argc > 0) { status = *argv; switch (status) { case Qtrue: status = INT2FIX(EXIT_SUCCESS); ++argv; --argc; break; case Qfalse: status = INT2FIX(EXIT_FAILURE); ++argv; --argc; break; default: status = rb_check_to_int(status); if (NIL_P(status)) { status = INT2FIX(EXIT_SUCCESS); } else { #if EXIT_SUCCESS != 0 if (status == INT2FIX(0)) status = INT2FIX(EXIT_SUCCESS); #endif ++argv; --argc; } break; } } else { status = INT2FIX(EXIT_SUCCESS); } rb_call_super(argc, argv); rb_ivar_set(exc, id_status, status); return exc; } |
Instance Method Details
#status ⇒ Integer
Return the status value associated with this system exit.
1967 1968 1969 1970 1971 |
# File 'error.c', line 1967 static VALUE exit_status(VALUE exc) { return rb_attr_get(exc, id_status); } |
#success? ⇒ Boolean
Returns true
if exiting successful, false
if not.
1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 |
# File 'error.c', line 1981 static VALUE exit_success_p(VALUE exc) { VALUE status_val = rb_attr_get(exc, id_status); int status; if (NIL_P(status_val)) return Qtrue; status = NUM2INT(status_val); return RBOOL(WIFEXITED(status) && WEXITSTATUS(status) == EXIT_SUCCESS); } |