Event handler for |
Image , Window
|
Implemented in | Navigator 3.0 |
onError="handlerText"
| JavaScript code or a call to a JavaScript function. |
window.location.href='notThere.html'
and notThere.html
does not exist, the resulting error message is a browser error message; therefore, onError
would not intercept that message. However, an error event is triggered by a bad URL within an IMG
tag or by corrupted image data.
window.onerror
applies only to errors that occur in the window containing window.onerror
, not in other windows.
onError
can be any of the following:
![]() | null to suppress all JavaScript error dialogs. Setting window.onerror to null means your users won't see JavaScript errors caused by your own code. |
![]() | The name of a function that handles errors (arguments are message text, URL, and line number of the offending line). To suppress the standard JavaScript error dialog, the function must return true. See Example 3 below. |
![]() | A variable or property that contains null or a valid function reference. |
![]() | Trace errors but let the standard JavaScript dialog report them (use an error handling function that returns false or does not return a value) |
![]() | Report errors yourself and disable the standard error dialog (use an error handling function that returns true) |
![]() | Turn off all error reporting (set the onError event handler to null) |
type | Indicates the type of event. |
target | Indicates the object to which the event was originally sent. |
IMG
tag, the code onError="null"
suppresses error messages if errors occur when the image loads.<IMG NAME="imageBad1" SRC="corrupt.gif" ALIGN="left" BORDER="2"Example 2: Null event handler for a window. The
onError="null">
onError
event handler for windows cannot be expressed in HTML. Therefore, you must spell it all lowercase and set it in a SCRIPT
tag. The following code assigns null to the onError
handler for the entire window, not just the Image
object. This suppresses all JavaScript error messages, including those for the Image
object.<SCRIPT>However, if the
window.onerror=null
</SCRIPT>
<IMG NAME="imageBad1" SRC="corrupt.gif" ALIGN="left" BORDER="2">
Image
object has a custom onError
event handler, the handler would execute if the image had an error. This is because window.onerror=null
suppresses JavaScript error messages, not onError
event handlers.<SCRIPT>In the following example,
window.onerror=null
function myErrorFunc() {
alert("The image had a nasty error.")
}
</SCRIPT>
<IMG NAME="imageBad1" SRC="corrupt.gif" ALIGN="left" BORDER="2"
onError="myErrorFunc()">
window.onerror=null
suppresses all error reporting. Without onerror=null
, the code would cause a stack overflow error because of infinite recursion.<SCRIPT>Example 3: Error handling function. The following example defines a function,
window.onerror = null;
function testErrorFunction() {
testErrorFunction();
}
</SCRIPT>
<BODY onload="testErrorFunction()">
test message
</BODY>
myOnError
, that intercepts JavaScript errors. The function uses three arrays to store the message, URL, and line number for each error. When the user clicks the Display Error Report button, the displayErrors
function opens a window and creates an error report in that window. Note that the function returns true to suppress the standard JavaScript error dialog.<SCRIPT>
window.onerror = myOnError
msgArray = new Array()
urlArray = new Array()
lnoArray = new Array()
function myOnError(msg, url, lno) {
msgArray[msgArray.length] = msg
urlArray[urlArray.length] = url
lnoArray[lnoArray.length] = lno
return true
}
function displayErrors() {
win2=window.open('','window2','scrollbars=yes')
win2.document.writeln('<B>Error Report</B><P>')
for (var i=0; i < msgArray.length; i++) {
win2.document.writeln('<B>Error in file:</B> ' + urlArray[i] + '<BR>')
win2.document.writeln('<B>Line number:</B> ' + lnoArray[i] + '<BR>')
win2.document.writeln('<B>Message:</B> ' + msgArray[i] + '<P>')
}
win2.document.close()
}
</SCRIPT>
<BODY onload="noSuchFunction()">
<FORM>
<BR><INPUT TYPE="button" VALUE="This button has a syntax error"
onClick="alert('unterminated string)">
<P><INPUT TYPE="button" VALUE="Display Error Report"This example produces the following output:
onClick="displayErrors()">
</FORM>
Error Report
Error in file: file:///c%7C/temp/onerror.html
Line number: 34
Message: unterminated string literal
Error in file: file:///c%7C/temp/onerror.html
Line number: 34
Message: missing ) after argument list
Error in file: file:///c%7C/temp/onerror.htmlExample 4: Event handler calls a function. In the following
Line number: 30
Message: noSuchFunction is not defined
IMG
tag, onError
calls the function badImage
if errors occur when the image loads.<SCRIPT>
function badImage(theImage) {
alert('Error: ' + theImage.name + ' did not load properly.')
}
</SCRIPT>
<FORM>
<IMG NAME="imageBad2" SRC="orca.gif" ALIGN="left" BORDER="2"
onError="badImage(this)">
</FORM>
onAbort
, onLoad
For general information on event handlers, see "General Information about Events".
For information about the event
object, see event
.
Last Updated: 10/31/97 16:34:02