Type Parameters:
LOCATION - Represents the 'location' where this ThrowsDeclaration is declared. This can be a JavaCodeUnit, i.e. a method or constructor. It can also be a CodeUnitCallTarget where the resolution process resolved this ThrowsDeclaration on all resolved targets.
To further elaborate, suppose we have three interfaces
interface A { void method() throws E1, E2{...} }
interface B { void method() throws E2, E3{...} }
interface C extends A, B {}
Since C can be assigned to either A or B, it follows that the inherited method C.method() only declares E2 as its only checked Exception.
Thus the ThrowsClause for the call target C.method() would only contain a ThrowsDeclaration with type E2.
For further information about the resolution process of AccessTargets to JavaMembers consult the documentation at AccessTarget.
All Implemented Interfaces:
HasOwner<ThrowsClause<LOCATION>>, HasType

public final class ThrowsDeclaration<LOCATION extends HasParameterTypes & HasReturnType & HasName.AndFullName & CanBeAnnotated & HasOwner<JavaClass>>
extends java.lang.Object
implements HasType, HasOwner<ThrowsClause<LOCATION>>
Represents one declared exception of a ThrowsClause. I.e. for
void someMethod() throws FirstException, SecondException {...}
there would be one ThrowsDeclaration representing FirstException and one representing SecondException