posted 21 years ago
Yes the answer a is legal.
You're not throwing an abstract exception. You are throwing an exception of type BadTasteException, which you can not instantiate an object of, but you can instantiated objects of types BitterException and SourException which are subclasses of BadTasteException. It is perfectly legal to declare a method throws a parent class (abstract or not), but the only practical types thrown from it are actually subclasses of the parent class.
Hope this helps.