1

我正在创建一个 ruby​​ 库(但实际上我是一名 java 开发人员),任何人都可以使用它.

在 java 中,异常非常简单,您可以定义“抛出”声明,以便 lib 的用户必须捕获异常。

红宝石中最好的方法是什么?

问候 && tia noircc

4

1 回答 1

4

在红宝石中,你raise是个例外。异常可以是一个类、一个类的一个实例,或者一个类和一个字符串,并且通常该类是 的后代StandardError,它是 的后代Exception。要捕获异常,请执行以下操作:

begin
   raise StandardError, "weeee, exception!"
rescue StandardError => e # or => e for a general rescue
   puts "Exception Message: #{e.message}"
end

通常,异常处理将在库之外完成,因此您只需要担心raise线路。 throw并且catch仍然存在于 ruby​​ 中,但raise它是异常处理的首选方法。

于 2012-08-29T13:09:47.837 回答