我没有让我的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消息。
答案 0 :(得分:3)
def initialze(*args)
raise ArgumentError, 'my message' unless valid_according_to_my_rules(args)
@a, @b, @c = args
end