Javascript AngularJS没有';不再在Firebug控制台中显示特定错误

Javascript AngularJS没有';不再在Firebug控制台中显示特定错误,javascript,angularjs,firebug,angular-material,Javascript,Angularjs,Firebug,Angular Material,我在应用程序中使用AngularJS和AngularMaterial库。 问题是,每当控制器的任何功能中出现任何错误时,它都不会显示特定的错误,而是每次都显示相同的一般错误,通过查看这些错误,您无法确定出错的原因 下面是我的控制台中显示的错误 TypeError:href为null stackFrame.js(第357行) consoleLog/您可以在AngularJs中使用自定义异常处理 app.config(function($provide){ $provide.decorat

我在应用程序中使用AngularJS和AngularMaterial库。 问题是,每当控制器的任何功能中出现任何错误时,它都不会显示特定的错误,而是每次都显示相同的一般错误,通过查看这些错误,您无法确定出错的原因

下面是我的控制台中显示的错误

TypeError:href为null stackFrame.js(第357行)

consoleLog/您可以在AngularJs中使用自定义异常处理

app.config(function($provide){

    $provide.decorator("$exceptionHandler", function($delegate, $injector){
        return function(exception, cause){
            var $rootScope = $injector.get("$rootScope");
            $rootScope.addError({message:"Exception", reason:exception});
            $delegate(exception, cause);
        };
    });

});
它将把所有错误发送到$rootScope进行数据绑定,然后再允许调用进入默认实现(addError是$rootScope上的一个自定义方法,而$delegate表示正在修饰的服务)

错误服务来封装一些公共逻辑

app.factory("errors", function($rootScope){
    return {
        catch: function(message){
            return function(reason){
                $rootScope.addError({message: message, reason: reason})
            };
        }
    };
});
处理错误:

 TestService.doWork().then()               
        .catch(errors.catch("Could not complete work!"));

这显然是Firebug中的一个bug。其代码中的相关行如下所示:


如果您希望修复此问题,您应该。

错误显示出问题所在:stackFrame.js,第357行,href为null,键入Error。它帮不了你吗?stackFrame.js不是我应用程序的js文件。请看更新。@MohitAdwani:你试过禁用firebug吗?哦,当然。只要摆脱Firebug,使用内置的开发工具。@Shivi禁用Firebug就行了。firefox的普通控制台显示了具体的错误。但我需要firebug用于开发目的。谢谢你的回答,但我需要知道为什么firebug会出现这种情况。我没有实施你的建议,我可能会实施。但这不是我想要的答案。Sorryhref为null表示某些服务没有得到正确的响应,或者如果您使用ng,则可能会得到正确的响应。请重复您的json结构不正确。您可以实现它,然后您将知道确切的错误。这将节省调试时间。是。我在$http.post的响应函数中遇到此错误。这个错误在firebug中显示得很模糊,但在浏览器的默认控制台中,它准确地显示了错误所在。这是firebug中的某种bug还是完全其他的东西?这很好,你找到了原因..是的,可能是firebug的问题,不管你在chrome或Mozilla中使用firebug?Mozilla。无法使用chrome的firebug,因为据我所知它不支持本地主机。我已经在他们的github repo上提出了一个问题。让我们看看他们的回答是什么。你在Firebug.next存储库中,这是错误的。(这适用于Firebug的未来主要版本。)您需要将其归档到。另外,在本期中,您应该参考这个SO问题,并尝试将您的问题分解为一个简单的测试用例,以便重现问题。对不起。我不知道。让我改变一下。