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 the name of an Exception class (or an object that returns
an Exception object when sent an
exception message). The optional second parameter sets the message
associated with the exception, and the third parameter is an array of
callback information. Exceptions are caught by the rescue clause
of begin…end blocks.