Method: Kernel#raise
- Defined in:
- eval.c
#raise ⇒ Object #raise(string, cause: $!) ⇒ Object #raise(exception[, string [, array]], cause: $!) ⇒ Object #fail ⇒ Object #fail(string, cause: $!) ⇒ Object #fail(exception[, string [, array]], cause: $!) ⇒ Object
With no arguments, raises the exception in $!
or raises a RuntimeError if $!
is nil
. With a single String
argument, raises a RuntimeError
with the string as a message. Otherwise, the first parameter should be an Exception
class (or another object that returns an Exception
object when sent an exception
message). The optional second parameter sets the message associated with the exception (accessible via Exception#message), and the third parameter is an array of callback information (accessible via Exception#backtrace). The cause
of the generated exception (accessible via Exception#cause) is automatically set to the “current” exception ($!
), if any. An alternative value, either an Exception
object or nil
, can be specified via the :cause
argument.
Exceptions are caught by the rescue
clause of begin...end
blocks.
raise "Failed to create socket"
raise ArgumentError, "No parameters", caller
821 822 823 824 825 |
# File 'eval.c', line 821
static VALUE
f_raise(int c, VALUE *v, VALUE _)
{
return rb_f_raise(c, v);
}
|