What is the difference - technical, philosophical, conceptual, or otherwise - between
raise \"foo\"
and
raise Exception.new(\"f
From the offical documentation:
raise
raise( string )
raise( exception [, string [, array ] ] )
With no arguments, raises the exception in $!
or raises a RuntimeError
if $!
is nil. With a single String
argument, it 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
when sent exception). 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.
raise "Failed to create socket"
raise ArgumentError, "No parameters", caller