angularjs - 如何让 Angular 在 Angular 错误上显示错误?

标签 angularjs

我从另一个开发人员那里接手了一个 Angular 应用程序。

现在我一直在玩它并进行第一次编辑。

问题是:当我绑定(bind)到不存在的元素(或犯任何其他错误)时,我看不到任何错误,这听起来不错,但不是因为我想在我做错事时得到通知。

如何使 Angular 显示错误?

最佳答案

首先,我建议不要使用 angular 的缩小版本,因为未缩小版本允许在控制台中记录更连贯和清晰的错误。

接下来,我认为处理 Angular 错误的最佳方法是编写一个自定义包装器来更好地处理它们。这是一个如何编写包装器的示例。

第一步是编写一个函数,以您想要的方式处理错误。这就是我目前处理 Angular 误差的方式。 注:这可以通过许多不同的方式进行修改,以使错误处理更加个性化。

function HandleAngularError(Exception, AppName){
    try {
        var AppName = (window.parent._.isEmpty(AppName) ? "Angular App Unspecified" : AppName) + " - ";

        if (window.parent._.isUndefined(Exception)) {
            console.log(strAppName + "error: exception undefined", "AngularJs");
        } else {
            console.log(strAppName + "error: " + Exception.toString() + " " +   JSON.stringify(Exception), "AngularJs");
        }
    } catch (e) {
         alert("Handle Angular Error: " + Exception.toString() + " " + JSON.stringify(Exception));
    }
}

下一步是在项目中的任何模块中包含错误处理功能,并依靠 $exceptionHandler 然后将 Angular 错误传递到您的自定义包装器中,如下所示:
angular.module("someApp",[], function(){
//setup stuff here

}).factory( '$exceptionHandler', function () {
    return function (exception) {
        HandleAngularError(exception, "someApp");
    };
});       

关于angularjs - 如何让 Angular 在 Angular 错误上显示错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23762425/

相关文章:

javascript - AngularJS、requireJS 和 ngRoute

javascript - angularjs 未捕获错误 : Unknown provider:

javascript - 将模型设置为未定义时,如何避免自定义 angularjs 指令的 "parse"验证错误?

javascript - 仅用于数字输入的自定义指令不适用于 Controller 绑定(bind) div 内的 HTML

javascript - 如何在 angularjs 中为 dreamfactory 存储过程创建动态 api url

javascript - angularjs 使用 ui.bootstrap 切换选项卡 View

javascript - Angular CSS ngRepeat 在 li 之间使用分隔符

html - 选择长选项时避免选择框加宽

javascript - AngularJS 不处理 JSON 引用

angularjs - 为什么找不到我的图像根目录