当前位置 : 主页 > 编程语言 > ruby >

ruby – 显示错误的模式

来源:互联网 收集:自由互联 发布时间:2021-06-23
在我的代码中,我通常使用以下设置: module MyLib VERSION = "0.1.1" ERROR = [ "You can either give one arg and a block or two args, not both.", "Yadda yadda..." ]end 然后在我的代码中的某个地方: def my_method(*arg
在我的代码中,我通常使用以下设置:

module MyLib
  VERSION = "0.1.1"
  ERROR = [
    "You can either give one arg and a block or two args, not both.",
    "Yadda yadda..."
  ]
end

然后在我的代码中的某个地方:

def my_method(*args, &blk)
  raise(ArgumentError, MyLib::ERROR[0]) if (...condition snipped...)
end

有没有更好的方法来定义错误消息?

您可以定义自己的异常类:

module MyLib
  class FooError < ArgumentError
    def to_s
      "You can either give one arg and a block or two args, not both.",
    end
  end
end

现在,如果你举起它:

raise MyLib::FooError
MyLib::FooError: You can either give one arg and a block or two args, not both.
    from (irb):46

如果你想处理它:

rescue MyLib::FooError
网友评论