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 に答える