http://www.w3school.com.cn/js/js_onerror.asp try...catch 的作用是测试代码中的错误。
JavaScript - 捕获错误
当我们在网上冲浪时,总会看到带有 runtime 错误的 Javascript 警告框,同时会询问我们“是否进行 debug?”。像这样的错误信息或许对开发人员有用,对用户则未必。当错误发生时,他们往往会选择离开这个站点。
本节向你讲解如何捕获和处理 Javascript 的错误消息,这样就可以为受众提供更多的便利。
有两种在网页中捕获错误的方法:
- 使用 try...catch 语句。(在 IE5+、Mozilla 1.0、和 Netscape 6 中可用)
- 使用 onerror 事件。这是用于捕获错误的老式方法。(Netscape 3 以后的版本可用)
注意:chrome、opera 和 safari 浏览器不支持 onerror 事件。
Try...Catch 语句
try...catch 可以测试代码中的错误。try 部分包含需要运行的代码,而 catch 部分包含错误发生时运行的代码。
代码:
<script type="text/javascript">
var txt=""
function message()
{
try
{
adddlert("Welcome guest!")
}
catch(err)
{
txt="此页面存在一个错误。 "
txt+="错误描述: " + err.description + " "
txt+="点击OK继续。 "
alert(txt)
}
}
</script>
var txt=""
function message()
{
try
{
adddlert("Welcome guest!")
}
catch(err)
{
txt="此页面存在一个错误。 "
txt+="错误描述: " + err.description + " "
txt+="点击OK继续。 "
alert(txt)
}
}
</script>
throw 声明的作用是创建 exception(异常或错误)。
代码:
<script type="text/javascript">var x=prompt("Enter a number between 0 and 10:","")try{if(x>10)throw "Err1"else if(x<0)throw "Err2"}catch(er){if(er=="Err1")alert("Error! The value is too high")if(er == "Err2")alert("Error! The value is too low")}</script>
使用 onerror 事件是一种老式的标准的在网页中捕获 Javascript 错误的方法。
<script type="text/javascript">
onerror = handleErr
var txt = ""
function handleErr(msg,url,l)
{
//Handle the error here
txt="本页中存在错误。 "
txt+="错误:" + msg + " "
txt+="URL: " + url + " "
txt+="行:" + l + " "
txt+="点击“确定”继续。 "
alert(txt)
return true
}
function message()
{
adddlert("Welcome guest!")
}
</script>