BLOCKS AND STATEMENTS
Execution of
try catch finally
14.18.2
A
try
statement with a
finally
block is executed by first executing the
try
block. Then there is a choice:
If execution of the
try
block completes normally, then the
finally
block is
executed, and then there is a choice:
N
If the
finally
block completes normally, then the
try
statement completes
normally.
N
If the
finally
block completes abruptly for reason
S
, then the
try
state
ment completes abruptly for reason
S
.
If execution of the
try
block completes abruptly because of a
throw
of a
value
V
, then there is a choice:
N
If the run time type of
V
is assignable to the parameter of any
catch
clause
of the
try
statement, then the first (leftmost) such
catch
clause is selected.
The value
V
is assigned to the parameter of the selected
catch
clause, and
the
Block
of that
catch
clause is executed. Then there is a choice:
O
If the
catch
block completes normally, then the
finally
block is exe
cuted. Then there is a choice:
If the
finally
block completes normally, then the
try
statement com
pletes normally.
If the
finally
block completes abruptly for any reason, then the
try
statement completes abruptly for the same reason.
O
If the
catch
block completes abruptly for reason
R
, then the
finally
block is executed. Then there is a choice:
If the
finally
block completes normally, then the
try
statement com
pletes abruptly for reason
R
.
If the
finally
block completes abruptly for reason
S
, then the
try
statement completes abruptly for reason
S
(and reason
R
is discarded).
N
If the run time type of
V
is not assignable to the parameter of any
catch
clause of the
try
statement, then the
finally
block is executed. Then there
is a choice:
O
If the
finally
block completes normally, then the
try
statement com
pletes abruptly because of a
throw
of the value
V
.
O
If the
finally
block completes abruptly for reason
S
, then the
try
state
ment completes abruptly for reason
S
(and the
throw
of value
V
is dis
carded and forgotten).
293
footer
Our partners:
PHP: Hypertext Preprocessor Best Web Hosting
Java Web Hosting
Inexpensive Web Hosting
Jsp Web Hosting
Cheapest Web Hosting
Jsp Hosting
Cheap Hosting
Visionwebhosting.net Business web hosting division of Web
Design Plus. All rights reserved