2014-01-15 16 views
0

我不想讓我的Ruby對象的構造函數抱怨給出的參數個數(在發生錯誤的參數的情況下),我想讓這個消息準確地列出所期望的。在initialize方法中自定義參數錯誤信息

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

顯然這不起作用,但希望這個想法可以通過。我只想覆蓋此類的默認ArgumentError消息。

回答

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

    @a, @b, @c = args 
end