JScript .NET, Part XII: Exception Handling: The try...catch...finally Statement - Doc JavaScript
JScript .NET, Part XII: Exception Handling
The try...catch...finally Statement
Catching errors in JScript .NET is done via three statements: try
, catch
, and finally
. Here is the skeleton of a code block that catches exceptions:
try { [tryStatements] } catch(exception) { [catchStatements] } finally { [finallyStatements]}
Where:
|
The try...catch...finally
statement lets you handle the errors that may occur in the tryStatements
. If an error occurs in the tryStatements
, program control is passed to catchStatements
. The value of exception
is the value of the error that occurred in the tryStatements
. If no error occurs, catchStatements
are not executed. For errors that you don't handle in the catchStatements
, JScript .NET provides its normal error message to the user, as if there was no error handling. But remember, avoid showing system errors to the user, as they may give the impression of buggy and sloppy coding.
Sometimes you cannot handle a specific error in the catchStatements
associated with the tryStatements
where the error occurred. In this case, use the throw
statement to re-throw the error to higher-level error handling. A try...catch...finally
statement may be nested within a higher-level try
statement. When you throw an exception from lower-level catchStatements
, it will be caught by the higher level catchStatements
.
After all statements in tryStatements
have been executed and any error processing has been completed in the catchStatements
, finallyStatements
are unconditionally executed. The code inside finallyStatements
is always executed. Even if the catchStatements
re-throws the error or if a return statement occurs inside the catch
or try
blocks, finallyStatements
are guaranteed to run. The only exception is when an unhandled error occurs; in this case, the system processes this run-time error by printing a message to the user and quitting from the JScript .NET application.
Next: How to throw string exceptions I
Produced by Yehuda Shiran and Tomer Shiran
All Rights Reserved. Legal Notices.
Created: September 9, 2002
Revised: September 9, 2002
URL: https://www.webreference.com/js/column118/3.html