Rubyでは、例外を処理する親クラスメソッドと、子クラスが使用されている場合にエラーを最初に処理する子クラスを持つことが可能ですか?言い換えれば子クラスのRubyハンドルエラーが最初に発生する
:
class Parent
def eat_apples(param)
puts "eat apples #{param}"
raise "pooey"
rescue => e
puts "parent error handler"
end
end
class Child < Parent
def eat_apples(param)
super(param)
rescue => e
puts "child error handler"
end
end
それはChild.new.eat_apples('something')
を呼び出し、子が親の前にエラーを処理することが可能ですか?
私はかなり親/子クラスで同じことをしたいが、機能はなぜ、スーパーを呼び出さずにメソッドを再定義していない段階
いいえ、変更なしで、エラー処理を含む 'eat_apples'全体が実行されます。 –
@DaveNewton、スーパーメソッドを呼び出す前に、拡張クラスのエラー処理を行うことができます。 –
@BillyFergusonこれは...変更になるでしょう。 –