在initialize方法中自定义ArgumentError消息

时间:2014-01-15 01:07:01

标签: ruby class override argument-error

我没有让我的Ruby对象的构造函数抱怨给出的参数数量(如果出现错误的args),我希望消息能够准确地列出所期望的内容。

def initialize a, b, c
  begin
    @a = a
    @b = b
    @c = c
  rescue ArgumentError
    raise ArgumentError, "my custom error message"
  end
end

显然这不起作用,但希望这可以解决这个问题。我只想覆盖此类的默认ArgumentError消息。

1 个答案:

答案 0 :(得分:3)

def initialze(*args)
  raise ArgumentError, 'my message' unless valid_according_to_my_rules(args)

  @a, @b, @c = args
end