Controlling Script Errors : Error Exceptions « Development « JavaScript DHTML

Controlling Script Errors

JavaScript Bible, Fourth Edition
by Danny Goodman 

John Wiley & Sons CopyRight 2001

<TITLE>Error Dialog Control</TITLE>
<SCRIPT LANGUAGE="JavaScript1.1">
// function with invalid variable value
function goWrong() {
    var x = fred
// turn off error dialogs
function errOff() {
    window.onerror = doNothing
// turn on error dialogs with hard reload
function errOn() {
    window.onerror = handleError
// assign default error handler
window.onerror = handleError
// error handler when errors are turned off...prevents error dialog
function doNothing() {return true}
function handleError(msg, URL, lineNum) {
    var errWind ="","errors","HEIGHT=270,WIDTH=400")
    var wintxt = "<HTML><BODY BGCOLOR=RED>"
    wintxt += "<B>An error has occurred on this page.  "
    wintxt += "Please report it to Tech Support.</B>"
    wintxt += "<FORM METHOD=POST ENCTYPE='text/plain' "
    wintxt += " >"
    wintxt += "<TEXTAREA NAME='errMsg' COLS=45 ROWS=8 WRAP=VIRTUAL>"
    wintxt += "Error: " + msg + "\n"
    wintxt += "URL: " + URL + "\n"
    wintxt += "Line: " + lineNum + "\n"
    wintxt += "Client: " + navigator.userAgent + "\n"
    wintxt += "-----------------------------------------\n"
    wintxt += "Please describe what you were doing when the error occurred:"
    wintxt += "</TEXTAREA><P>"
    wintxt += "<INPUT TYPE=SUBMIT VALUE='Send Error Report'>"
    wintxt += "<INPUT TYPE=button VALUE='Close' onClick='self.close()'>"
    wintxt += "</FORM></BODY></HTML>"
    return true
<FORM NAME="myform">
<INPUT TYPE="button" VALUE="Cause an Error" onClick="goWrong()"><P>
<INPUT TYPE="button" VALUE="Turn Off Error Dialogs" onClick="errOff()">
<INPUT TYPE="button" VALUE="Turn On Error Dialogs" onClick="errOn()">


Related examples in the same category

1.Catching the 'Object Expected' Error
2.Throwing an Error
3.Catching an Error
4.An Exception Handling Example
5.Nested Exception Handling (This script only works with Internet Explorer 5, Navigator 6, or later browsers)
6.Using the onError Event Handler
7. Throwing String Exceptions
8.Throwing an Error Object Exception
9.A Custom Object Exception