JavaScript的例外处理(try...catch...finally)
转自:http://www.ntsky.com/xml/article/3.xml
平时我们在写Javascript的时候是否为查找Javascript的错误而烦恼,不过不用担心我们有2种方法来处理JavaScript的错误
一、使用Mozilla浏览器的用户可以直接在Tools下的Javascript Console进行查看浏览器找到的错误.
二、自己使用例外处理来捕获JavaScript的异常。
如下是Javascript的例外处理的一个实例。
var array = null;
try {
document.write(array[0]);
} catch(err) {
document.writeln("Error name: " + err.name + "");
document.writeln("Error message: " + err.message);
}
finally{
alert("object is null");
}
程序执行过程
平时我们在写Javascript的时候是否为查找Javascript的错误而烦恼,不过不用担心我们有2种方法来处理JavaScript的错误
一、使用Mozilla浏览器的用户可以直接在Tools下的Javascript Console进行查看浏览器找到的错误.
二、自己使用例外处理来捕获JavaScript的异常。
如下是Javascript的例外处理的一个实例。
var array = null;
try {
document.write(array[0]);
} catch(err) {
document.writeln("Error name: " + err.name + "");
document.writeln("Error message: " + err.message);
}
finally{
alert("object is null");
}
程序执行过程
- array[0]的时候由于没有创建array数组,array是个空对象,程序中调用array[0]就会产生object is null的异常
- catch(err)语句捕获到这个异常通过err.name打印了错误类型,err.message打印了错误的详细信息.
- finally类似于java的finally,无论有无异常都会执行.
- EvalError:eval()的使用与定义不一致
- RangeError:数值越界
- ReferenceError:非法或不能识别的引用数值
- SyntaxError:发生语法解析错误
- TypeError:操作数类型错误
- URIError:URI处理函数使用不当