JavaScript的例外处理(try...catch...finally)
2011年03月05日
如下是 [b]Javascript [/b]的例外处理的一个实例。
[b]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");
}[/b]
程序执行过程
1. [b]array[0][/b] 的时候由于没有创建 [b]array [/b]数组, [b]array [/b]是个空对象,程序中调用 [b]array[0] [/b]就会产生 [b]object is null [/b]的异常
2. [b]catch(err) [/b]语句捕获到这个异常通过 [b]err.name [/b]打印了错误类型,[b]err.message [/b]打印了错误的详细信息.
3. [b]finally [/b]类似于 [b]java [/b]的 [b]finally [/b],无论有无异常都会执行.
[b]Error.name [/b]的六种值对应的信息:
1. [b]EvalError[/b]:[b]eval()[/b]的使用与定义不一致
2. [b]RangeError[/b]:数值越界
3. [b]ReferenceError[/b]:非法或不能识别的引用数值
4. [b]SyntaxError[/b]:发生语法解析错误
5. [b]TypeError[/b]:操作数类型错误
6. [b]URIError[/b]:[b]URI[/b]处理函数使用不当
2011年03月05日
如下是 [b]Javascript [/b]的例外处理的一个实例。
[b]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");
}[/b]
程序执行过程
1. [b]array[0][/b] 的时候由于没有创建 [b]array [/b]数组, [b]array [/b]是个空对象,程序中调用 [b]array[0] [/b]就会产生 [b]object is null [/b]的异常
2. [b]catch(err) [/b]语句捕获到这个异常通过 [b]err.name [/b]打印了错误类型,[b]err.message [/b]打印了错误的详细信息.
3. [b]finally [/b]类似于 [b]java [/b]的 [b]finally [/b],无论有无异常都会执行.
[b]Error.name [/b]的六种值对应的信息:
1. [b]EvalError[/b]:[b]eval()[/b]的使用与定义不一致
2. [b]RangeError[/b]:数值越界
3. [b]ReferenceError[/b]:非法或不能识别的引用数值
4. [b]SyntaxError[/b]:发生语法解析错误
5. [b]TypeError[/b]:操作数类型错误
6. [b]URIError[/b]:[b]URI[/b]处理函数使用不当