Throwing and Catching Exceptions in JMP 8

I have recently begun using JMP 8 which has some nice UI improvements over JMP 7, and is apparently (so far for me, at least) less forgiving about errors that occur when running scripts. Therefore, I want to share why it is important for you to begin using the try() / throw() functions to catch exceptions that occur during JSL script execution.

The most important use I have found for these two functions is to wrap function calls that are made to other scripts you have included in your main script file. For instance, let's say you have a function in a file that manipulates some columns, and you have included it in another file that creates some charts:

include("manipulateTable.jsl");
...
<other code>
manipulateTable(dt, col1, col2);
...
<create graphs, etc.>

In JMP 8, I have found it very useful (and far less frustrating) when working with such function calls to wrap the function call with a Try()/Throw() function, like so:

include("manipulateTable.jsl");
...
<other code>
try(
  manipulateTable(dt, col1, col2);
, show(exception_msg); throw(); );
...
<create graphs, etc.>

This way, if the function call encounters some problems in the other script the calling script will not crash JMP entirely, but will instead fail, break at this point in the script, and return an error message describing what the function call encountered in the other script that caused it to fail, and then you can go on with debugging your scripts.