February 16, 2000 - Suppressing Errors | WebReference

February 16, 2000 - Suppressing Errors

Yehuda Shiran February 16, 2000
Suppressing Errors
Tips: February 2000

Yehuda Shiran, Ph.D.
Doc JavaScript

Even if you use the most defensive coding techniques, your script could generate an error under an unexpected configuration. For example, have you thought of what would happen to your Dynamic HTML animation when someone loads it with Netscape Navigator 4.03, with Style Sheets turned off and JavaScript turned on? Have you considered the first beta version of this browser? Probably not.

The window.onerror property (event handler) solves this problem by providing a way to stop those annoying JavaScript error messages, even when an error occurs. Simply set window.onerror to a function reference that returns true when executed. This should be done in a separate script, placed first in the ... portion of the document. Be sure not to suppress errors in this fashion while you're writing and testing your scripts. Here's the general syntax of a document that utilizes error handling to suppress errors:

<HTML>
<HEAD>
<TITLE>Page Title Here</TITLE>
<SCRIPT LANGUAGE="JavaScript">
<!--
function stopError() {
  return true;
}
window.onerror = stopError;
// -->
</SCRIPT>
.
.
.
</HEAD>
<BODY>
.
.
.
</BODY>
</HTML>

Notice that the window.onerror property must be assigned a function reference, not a function call. Also note that the statement:

window.onerror = stopError;
does not generate an error even if the browser does not support this event handler or property, because it is legal (in all browsers) to expand an existing object by adding a new property (onerror in this case).

Unless you are 100% sure that your scripts are error free, be sure to use this technique to suppress all JavaScript errors, which are common among unprofessional sites.

Learn more about error handling in Column 38, IE5 Review: Exception Handling.