提出例外
要引发异常,请使用 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"