1

与其让我的 Ruby 对象的构造函数抱怨给定的参数数量(如果参数错误),我希望消息准确地列出预期的内容。

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

显然这是行不通的,但希望这能传达出这个想法。我只想覆盖这个类的默认 ArgumentError 消息。

4

1 回答 1

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

  @a, @b, @c = args
end
于 2014-01-15T01:10:52.203 回答