例えば、「私は何でも美味しく食べられる」といった人がいたとします。
Javaのメソッド風に書くと以下のようになります。
PositiveFeedback eat(Food food) { ... }
何を食べても良い感想しか返さない。これは特別な感じがします。
素晴らしい特技・才能と言っても良いでしょう。
ただ、よく聞くとアレルギーでどうしても食べられないものがあるそうです。
メソッドを書き直しましょう。
PositiveFeedback eat(Food food)
throws AllergyException { ... }
こんな感じでしょうか。アレルギーは仕方ありません。
え?なんでしょうか。今、思い出した?
食べると吐いてしまうくらい嫌いな食べ物が1つだけある?
他の食べ物は全部好き?
…そうですか。はい、わかりました。
PositiveFeedback eat(Food food)
throws AllergyException, HateFoodException { .. }
こうですね。ちょっと例外が増えてきました。
でも、いくつかの例外を除いて美味しく食べられるというのは素晴らしいことです。
あ、そういえば、この間一緒に食事に行った時、「マズイ」って言ってませんでしたっけ?
あはは、言ってましたよね。確かにあそこの料理は不味かった(笑)
Feedback eat(Food food)
throws AllergyException, HateFoodException { ... }
こうなりました。
普通じゃねーか、ばーか。
ということにならないように気をつけましょう。