触发onerror事件处理异常
程序员文章站
2022-03-28 09:36:03
...
一 介绍
触发onerror事件是最早用于处理JavaScript异常的机制,页面出现异常时,将触发onerror事件,该事件在window对象上触发。
语法:
<script language="javascript">
window.onerror=function()
{
alert("您调用的函数不存在");
return true;
}
</script>
window.onerror:触发onerror事件。
如果在onerror事件处理函数中没有使用return true语句,在弹出错误提示对话框后,浏览器的错误报告也会显示出来。为了隐藏此错误报告,函数需要返回true。
图像对象也可以触发onerror事件。
语法:
<script language="javascript">
document.images[0].onerror=function()
{
somestatements;
return true;
}
</script>
document.images[0]:页面中的第一个图像。
使用onerror事件处理异常除了可以捕捉异常之外,还可以提供如下3种信息来确定发生异常的详细信息。
1、异常信息:获取异常信息。
2、URL:获取发生异常的文件的绝对路径。
3、行号:给定发生异常文件的行号。
语法:
<script language="javascript">
window.onerror=function(ms,Url,Line)
{
alert("您调用的函数不存在\n"+ms+"\n"+Url+"\n"+Line+"\n");
return true;
}
</script>
二 使用onerror事件处理异常应用
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>onerror事件</title>
<script language="javascript">
window.onerror=function(ms,Url,Line)
{
alert("您调用的函数不存在\n"+ms+"\n"+Url+"\n"+Line+"\n");//弹出错误提示对话框
return true; //返回true
}
function ImgLoad()
{
document.images[0].onerror=function()
{
alert("您调用的图像并不存在\n");
};
document.images[0].src="test.gif";
}
</script>
</head>
<body onload="ImgLoad()">
<script language="javascript">
onHave(); //调用不存在的onHave()函数
</script>
<img/>
</body>
</html>
三 运行结果
四 运行说明
1、由于在HTML文件中<body>区域调用页面中并没有定义的函数onHave(),所以执行此页面将会发出异常。这时,会弹出显示“您调用的函数不存在”的错误提示对话框,同时在此对话框中显示此异常的相关详细信息,包括错误信息、发生异常文件的绝对路径以及在程序中发生异常的行号。
2、在页面中定义了一个图像,由于此时没有赋给此图像src特性,所以在onerror事件处理函数中赋给第一个图像src值将会出现异常,程序将弹出错误提示对话框。
上一篇: Java受检异常和非受检异常(转)
推荐阅读
-
Fragment穿透事件处理,点击当前fragment空白区域触发了其他fragment控件的点击事件
-
变相获取伪元素处理业务,实现伪元素的事件触发
-
js事件委托、Cookie缓存、转码解码、严格模式以及异常处理
-
c/c++ 多线程 等待一次性事件 异常处理
-
Selenium一些特殊情况的处理:失去焦点、点击不生效、长页面处理、先触发事件才能动态加载的元素、日期输入
-
处理点击隐私政策,后边空白区域也触发了点击事件
-
【echats】echats悬浮事件频繁触发、过于灵敏、快速抖动等异常现象,适用与tooltip有关
-
Oracle触发器中select into 报错no_data_found异常处理
-
javascript-onsubmit触发事件把表单数据发送到相关php处理问题
-
MySQL 5.6 主从复制如何处理触发器,函数,存储过程,调度事件_MySQL