Javascript:异常和错误策略

时间:2010-07-21 13:16:38

标签: javascript jquery

是否有人知道处理异常和错误的良好策略。目前我有不同的代码处理他们自己的验证/错误/异常,但我真的有一个集中的策略。我在考虑一些全局通知系统,它将一些错误/异常传递给用户,如验证。我会发布到后端的其他错误并记录下来。

例如,验证错误可能包含导致错误的元素。这样我可以添加一个类来突出显示它并在之前或之后附加一些文本。

因此,如果有人就如何做到这一点有一些具体的例子我会非常感激。

2 个答案:

答案 0 :(得分:2)

如果它值得,你可以自定义错误并围绕这些包含默认行为的函数构建一个函数:

function errorHandler() {

    var error = arguments[1] ; //!! pass the error
    /* additional arguments */

    var errorCode = error.message ;

    var errorMap = { //!! a map that matches error codes to default behaviour
        "customErrorName":function() {
            /* default behaviour for this kind of error */
        } ,
        /* more custom error codes and default behaviour */
    }

        if(errorCode in errorMap) { //!! error code has a default behaviour
            errorMap[ errorCode ]() ; //!! call default behaviour
        } else {
            /* log unknown error */
        }

}

您可以在try { ... } catch(e) { ... }块中实现此功能:

try {
    /* your code */
    if(someErrorCondition) {
        throw new Error("someError") ;
    }
} catch(e) {
    errorHandler(e) ;
}

javascript中也有默认的错误类型。以下链接中有一个列表:https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Error

答案 1 :(得分:0)

如果您的主要问题是关于验证,我认为最具体的方法是使用jQuery validation plug-in这是真正可自定义的,并且有一个很好的基础来开始处理异常。

我不是javascript中尝试catch块的忠实粉丝,但我认为你也可以从为自己提供特殊代码到不同的错误并在switch case blocks中处理它们。