JavaScript 中 throw 有什么用?

作者:vkvi 来源:ITPOW(原创) 日期:2009-1-16

我个人觉得没什么用。

throw 产生一个能被 try...catch...finally 语句处理的错误情形。

语法

throw exception

示例

throw "error1";

throw("error1");

我以为会弹出一个错误,错误内容为 error1,可是不是的,IE 中它的错误内容是:例外被抛出且未被接住。无论 exception 为何值,均是这个错误,其它浏览器中也是类似的错误。

官方说 throw 的应用是这样的:

try
{
    if (x == 0)
        throw "x equals zero";
    else
        throw "x does not equal zero";
}
catch(e)
{
    if (e == "x equals zero")
        return(e + " handled locally.");
}

先判断是否为零,是零就抛出错误,拖出错误后,再把这个错误接住(catch),再判断错误描述,根据错误描述返回结果。我觉得这有点多此一举,完全在 if (x == 0) 就可以执行 return。就算是为了程序更健壮,我个人认为 JavaScript 中 throw 在绝大多数情况下是没有用的。

相关文章