Ruby raise语句

在 Ruby 中,我们可以使用 raise 语句抛出异常。下面的方法在调用时抛出异常。它的第二个消息将被输出。

Ruby raise语句详解

语法

raise 或 raise "Error Message" 或 raise ExceptionType, "Error Message" 或 raise ExceptionType, "Error Message" condition

说明

第一种形式简单地重新抛出当前异常(如果没有当前异常则抛出一个 RuntimeError)。这用在传入异常之前需要解释异常的异常处理程序中。

第二种形式创建一个新的 RuntimeError 异常,设置它的消息为给定的字符串。该异常之后抛出到调用堆栈。

第三种形式使用第一个参数创建一个异常,然后设置相关的消息为第二个参数。

第四种形式与第三种形式类似,您可以添加任何额外的条件语句(比如 unless)来抛出异常。

案例

raise语句抛出异常

使用 raise 语句抛出异常

#!/usr/bin/ruby -w # -*- coding : utf-8 -*- puts "HaiCoder(www.haicoder.net)" begin puts 'I am before the raise.' raise 'An error has occurred.' puts 'I am after the raise.' rescue puts 'I am rescued.' end puts 'I am after the begin block.'

运行后,输出如下:

03_Ruby raise语句.png

我们使用了 raise 抛出了异常。

raise语句抛出异常

使用 raise 语句抛出异常

#!/usr/bin/ruby -w # -*- coding : utf-8 -*- puts "HaiCoder(www.haicoder.net)" begin raise 'A test exception.' rescue Exception => e puts e.message puts e.backtrace.inspect end

运行后,输出如下:

04_Ruby raise语句.png

我们使用了 raise 抛出了异常。

Ruby raise语句总结

在 Ruby 中,我们可以使用 raise 语句抛出异常。