javascript异常处理机制Exceptions

javascript提供一套异常处理机制,异常是干扰程序正常流程的非正常的事故。但并非是完全出乎意料。换言之,就是事故可以预判并处理的。当遇到异常时,应该抛出并处理,而抛出异常的关键字就是throw,被抛出的异常就是Exception。

var add = function(a,b){
if (typeof a !=="number" || typeof b!=="number"){
throw{
name:"TypeErrow",
message:"请填写数字!"
}
}
return a+b;
}

根据上面判断,当遇到预期的异常时,throw语句将抛出异常Exception对象,该对象包含一个异常类型name属性和一描述性的message属性,当然,这些都是预先定义的,还可以定义其它属性。该Exception对象将被传递给try语句的catch从句:

var try_it = function(){
try{
add("notnumber")
}catch(e){
document.writeln(e.name +":"+e.message)
}
}

try_it(); // TypeErrow:请填写数字!

如果try语句抛出一个异常,将被catch语句捕获并处理。需要说明的是,一个try语句只能有一个捕获异常的catch语句。

posted @ 2012-03-08 11:23  穆乙  阅读(994)  评论(0编辑  收藏  举报