Browser Compatibility: Ignoring Errors - Doc JavaScript | WebReference

Browser Compatibility: Ignoring Errors - Doc JavaScript

Ignoring Errors

Even if you use the most defensive coding techniques, your script could generate an error under an unexpected configuration. For example, did you even think 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? Did you consider 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 <HEAD>...</HEAD> 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:

<TITLE>Page Title Here</TITLE>
function stopError() {
  return true;
window.onerror = stopError;
// -->

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.

Created: November 4, 1997
Revised: December 4, 1997