与其让我的 Ruby 对象的构造函数抱怨给出的参数数量(在参数不好的情况下),我希望消息准确地列出预期的内容。
def initialize a, b, c
begin
@a = a
@b = b
@c = c
rescue ArgumentError
raise ArgumentError, "my custom error message"
end
end
显然这是行不通的,但希望这能传达这个想法。我只想覆盖此类的默认参数错误消息。
def initialze(*args)
raise ArgumentError, 'my message' unless valid_according_to_my_rules(args)
@a, @b, @c = args
end