Wondering why JavaScript doesn't include exception-handling constructs like its bigger cousins? Well, the newest version of JavaScript does - and this article tells you all about it, explaining how you can use the new Error object and the "try-catch" constructs to trap and resolve errors in script execution.
Now, what you just saw was a very primitive exception handler, albeit one which isn't very useful on a production site. Ideally, you'd want the message generated by the exception handler to be a little more descriptive, and to contain some information on the source of the error.
JavaScript satisfies this requirement via two special, pre-defined properties of the Error object generated by an exception - the "name" and "message" properties. Take a look:
An exception occurred in the script. Error name: TypeError. Error message: 'colours' is undefined
Don't want to use the alert() box because it's disruptive and annoying? Write the output directly to the page itself with the writeln() method instead, as below:
It's also possible to write an exception handler to ignore all errors generated in your script - the following example demonstrates:
<script language="JavaScript">
try {
// generate an error
eval("some gibberish")
} catch (e) {
// ignore it
}
</script>
In this case, it doesn't matter what type of exception JavaScript generates - the generic handler will catch it, ignore it and continue to process the rest of the script.
It should be noted, however, that this approach, although extremely simple, is *not* recommended for general use. It is poor programming practice to trap all errors, regardless of type, and ignore them; it is far better - and more professional - to anticipate the likely errors ahead of time, and use the "try-catch" construct to isolate and resolve them.