在JavaScript中,当发生运行时错误或者程序明确的使用throw语句时就会抛出异常,使用try/catch/finally语句可以捕捉异常,
throw语句的语法如下:
throw expression;
expression的值可以是任何类型的,但通常它是一个Error对象或者Error子类的一个实例,抛出一个存放错误信息的字符串
或者代表某种错误代码的数字也很有用。例如下面例子:
function f(x) {
if (x < 0) throw new Error("x must not be negative");
for (var f = 1; x > 1; f *= x, x--);
return f;
}
在抛出异常时,JavaScript解释器会立即停止正常的程序执行,跳转到最近的异常处理器,如果抛出异常的代码块没有相关的catch
从句,解释器将检查次高级的封闭代码块,看它是否有相关的异常处理器。依次类推,直到找到一个异常处理器为止。
try {
} catch (ex) {
} finally {
}
var i = 0, total = 0;
while(i < a.length) {
try {
if ((typeof a[i] != "number") || isNaN(a[i])) {
continue;
total += a[i];
}
} finally {
i++;
} }