Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/446.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 错误时停止击倒_Javascript_Knockout.js - Fatal编程技术网

Javascript 错误时停止击倒

Javascript 错误时停止击倒,javascript,knockout.js,Javascript,Knockout.js,当淘汰失败时,如何向用户发出错误警报? 而不是在控制台中默默地执行此操作: 您可以使用try catch块 try { adddlert("Welcome guest!"); } catch(err) { document.getElementById("demo").innerHTML = err.message; } 并将错误消息传递给用户。看这篇文章我相信这就是你想要的:, 但也可以看看片段,或许可以给你一些想法: var ErrorHandlingBindingProv

当淘汰失败时,如何向用户发出错误警报? 而不是在控制台中默默地执行此操作:


您可以使用try catch块

try {
    adddlert("Welcome guest!");
}
catch(err) {
    document.getElementById("demo").innerHTML = err.message;
}

并将错误消息传递给用户。

看这篇文章我相信这就是你想要的:, 但也可以看看片段,或许可以给你一些想法:

var ErrorHandlingBindingProvider = function() {
    var original = new ko.bindingProvider(); 
        //determine if an element has any bindings
    this.nodeHasBindings = original.nodeHasBindings;
    //return the bindings given a node and the bindingContext
    this.getBindings = function(node, bindingContext) {
        var result;
        try {
            result = original.getBindings(node, bindingContext);
        }
        catch (e) {
            //here you will do what you you want to do to show to user
            if (console && console.log) {
                console.log("Error in binding: " + e.message);   
            }
        }   
        return result;
    };
};

ko.bindingProvider.instance = new ErrorHandlingBindingProvider();
片段作者:


问题在于,捕获错误的是javascript库淘汰。我不想在那段代码中编辑(下次更新时我不想再编辑)@AbhashUpadhyaya很好,你比我快:+1:great-虽然它不会捕获错误的模板名称,例如版本3.4.0中的(@rp niemeyer?:),但你可以在某些上下文中使用。