throw statement causes an exception (§11) to be thrown. The result is an immediate transfer of control (§11.3) that may exit multiple statements and multiple constructor, instance initializer, static initializer and field initializer evaluations, and method invocations until a
try statement (§14.20) is found that catches the thrown value. If no such
try statement is found, then execution of the thread (§17) that executed the
throw is terminated (§11.3) after invocation of the
uncaughtException method for the thread group to which the thread belongs.
The Expression in a
throw statement must denote either 1) a variable or value of a reference type which is assignable (§5.2) to the ...