September 15, 2002 - Throwing Exceptions from Try and Catch Blocks | WebReference

September 15, 2002 - Throwing Exceptions from Try and Catch Blocks

Yehuda Shiran September 15, 2002
Throwing Exceptions from Try and Catch Blocks
Tips: September 2002

Yehuda Shiran, Ph.D.
Doc JavaScript

The following code demonstrates the throwing of an exception into a try block and a catch block:

  try {
    print("In outer try block...");
    try {
      print("In inner try block...");
      throw "Error 325 from inner try block";
    } 
    catch(e) {
      print("Inner catch block caught " + e);
      throw e + " re-thrown from inner catch block";
    } 
    finally {
      print("In inner finally block...");
    }
  } 
  catch(e) {
    print("Outer catch block caught " + e);
  } 
  finally {
    print("In outer finally block...");
  }
The first throw passes the message "Error 325 from inner try block" from the inner try block to the inner catch block. The second throw (inside the inner catch block) adds the string " re-thrown from inner catch block" to the original error message, and throws it to the outer catch block. The outer catch block adds the passed error message to the string "Outer catch block caught " and prints it.

To run this code, put it in a file, say trycatch.js, compile it with the jsc compiler, and run the derived executable, trycatch.exe. Here is what the Command Prompt window should look like:

To learn more about exception handling, go to Column 118, JScript .NET, Part XII: Exception Handling.