您的位置:首页 > 编程语言

测试代码中的错误

2008-12-23 10:20 239 查看

JavaScriptTry...Catch语句



try...catch的作用是测试代码中的错误。

有两种在网页中捕获错误的方法:

使用try...catch语句。(在IE5+、Mozilla1.0、和Netscape6中可用)
使用onerror事件。这是用于捕获错误的老式方法。(Netscape3以后的版本可用)

Try...Catch语句

try...catch可以测试代码中的错误。try部分包含需要运行的代码,而catch部分包含错误发生时运行的代码。

语法:

try

{
//在此运行代码
}
catch(err)

{
//在此处理错误
}[/code]
注意:try...catch使用小写字母。大写字母会出错。

实例1

下一个例子会显示一个确认框,让用户来选择在发生错误时点击确定按钮来继续浏览网页,还是点击取消按钮来回到首页。如果confirm方法的返回值为false,代码会把用户重定向到其他的页面。如果confirm方法的返回值为true,那么代码什么也不会做。
<html>
<head>
<scripttype="text/javascript">
vartxt=""
functionmessage()
{
[code]try

{
adddlert("Welcomeguest!")
}
catch(err)

{
txt="Therewasanerroronthispage./n/n"
txt+="ClickOKtocontinueviewingthispage,/n"
txt+="orCanceltoreturntothehomepage./n/n"
if(!confirm(txt))
{
document.location.href="http://www.w3school.com.cn/"
}
}
}
</script>
</head>

<body>
<inputtype="button"value="Viewmessage"onclick="message()"/>
</body>

</html>[/code]

JavaScriptThrow声明

throw声明的作用是创建exception(异常或错误)。

Throw声明

throw声明的作用是创建exception(异常)。你可以把这个声明与try...catch声明配合使用,以达到控制程序流并产生精确错误消息的目的。

语法:

throw(exception)

exception可以是字符串、整数、逻辑值或者对象。

注意:使用小写字母编写throw。使用大写字母会出错!

实例1

下面的实例的作用是测定变量x的值。如果x的值大于10或者小于0,错误就会被抛出(throw)。这个错误被catch的参数捕获后,就会显示出自定义的出错信息。
<html>
<body>
<scripttype="text/javascript">
varx=prompt("Enteranumberbetween0and10:","")
[code]try

{
if(x>10)
throw"Err1"

elseif(x<0)
throw"Err2"

}
catch(er)

{
if(er=="Err1")
alert("Error!Thevalueistoohigh")
if(er=="Err2")
alert("Error!Thevalueistoolow")
}
</script>
</body>
</html>[/code]

JavaScriptonerror事件

使用onerror事件是一种老式的标准的在网页中捕获Javascript错误的方法。

onerror事件

我们刚讲过如何使用try...catch声明来捕获网页中的错误。现在,我们继续讲解如何使用onerror事件来达到相同的目的。

只要页面中出现脚步错误,就会产生onerror事件。

如果需要利用onerror事件,就必须创建一个处理错误的函数。你可以把这个函数叫作onerror事件处理器(onerroreventhandler)。这个事件处理器使用三个参数来调用:msg(错误消息)、url(发生错误的页面的url)、line(发生错误的代码行)。

语法:

onerror=handleErrfunctionhandleErr(msg,url,l)
{
//Handletheerrorhere
returntrueorfalse
}

浏览器是否显示标准的错误消息,取决于onerror的返回值。如果返回值为false,则在控制台(JavaScriptconsole)中显示错误消息。反之则不会。

实例:

下面的例子展示如何使用onerror事件来捕获错误:
<html>
<head>
<scripttype="text/javascript">
[code]onerror=handleErr

vartxt=""

functionhandleErr(msg,url,l)
{
txt="Therewasanerroronthispage./n/n"
txt+="Error:"+msg+"/n"
txt+="URL:"+url+"/n"
txt+="Line:"+l+"/n/n"
txt+="ClickOKtocontinue./n/n"
alert(txt)
returntrue
}

functionmessage()
{
adddlert("Welcomeguest!")
}
</script>
</head>

<body>
<inputtype="button"value="Viewmessage"onclick="message()"/>
</body>

</html>[/code]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: