提出例外

要引发异常,请使用 Kernel#raise 传递异常类和/或消息:

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

你也可以简单地传递错误消息。在这种情况下,消息被包装成 RuntimeError

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

这是一个例子:

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"