Ruby Language Alzare un'eccezione


Esempio

Per generare un'eccezione usa Kernel#raise passando la classe di eccezione e / o il messaggio:

raise StandardError # raises a StandardError.new
raise StandardError, "An error" # raises a StandardError.new("An error")

Puoi anche semplicemente passare un messaggio di errore. In questo caso, il messaggio è avvolto in un RuntimeError :

raise "An error" # raises a RuntimeError.new("An error")

Ecco un esempio:

def hello(subject)
  raise ArgumentError, "`subject` is missing" if subject.to_s.empty?
  puts "Hello #{subject}"
end

hello # => ArgumentError: `subject` is missing
hello("Simone") # => "Hello Simone"