我正在创建一个ruby-library(但实际上我是一个java开发人员),任何人都可以使用它如果库出现问题你更喜欢什么样的场景,我会引发异常或者我只是返回错误代码。
在java中,这是一个非常简单的例外,你可以定义一个“throws” - 声明,这样lib的用户就必须捕获异常。
红宝石最好的方法是什么?
问候&& TIA noircc
答案 0 :(得分:4)
在ruby中,您raise
例外。异常可以是类,类的实例,类和字符串,通常类是StandardError
的后代,它是Exception
的后代。要捕获异常,请执行以下操作:
begin
raise StandardError, "weeee, exception!"
rescue StandardError => e # or => e for a general rescue
puts "Exception Message: #{e.message}"
end
通常,异常处理将在库外完成,因此您只需担心raise
行。 rubied中仍然存在throw
和catch
,但raise
是首选的异常处理方法。