2015-09-29 26 views
10

AngularJS uygulamasını uygulamamdaki açısal materyal kitaplığı ile birlikte kullanıyorum. Sorun, denetleyicinin herhangi bir işlevinde herhangi bir hata oluştuğunda, belirli bir hatayı göstermez, ancak neyin yanlış gittiğini belirleyemediğinize bakarak, her zaman aynı genel hatayı gösterir.AngularJS, Firebug konsolunda artık belirli hataları göstermiyor

Konsolumda gösterilen hata İşte.

TypeError: href is null stackFrame.js (line 357) 
consoleLog/<() angular.js (line 12416) 
$ExceptionHandlerProvider/this.$get</<() angular.js (line 9203) 
processQueue() angular.js (line 14642) 
scheduleProcessQueue/<() angular.js (line 14650) 
$RootScopeProvider/this.$get</Scope.prototype.$eval() angular.js (line 15878) 
$RootScopeProvider/this.$get</Scope.prototype.$digest() angular.js (line 15689) 
$RootScopeProvider/this.$get</Scope.prototype.$apply() angular.js (line 15986) 
done() angular.js (line 10511) 
completeRequest() angular.js (line 10683) 
requestLoaded() angular.js (line 10624) 

İşte bu hatanın ekran görüntüsü. Error as shown in Firebug

Not: Uygulamamı yüklemek için RequireJS JavaScript kitaplığını kullanıyorum. Uygulamamda ui.router kullanıyorum.

Güncelleştirme 1: stackFrame.js, benim uygulamamın bir JavaScript dosyası değil.

chrome://firebug/content/debugger/stack/stackFrame.js 

Ve her zaman ben uygulamada farklı hataları karşıya bile, herhangi bir denetleyici benim uygulama boyunca aynı satırda aynı hata gösterir: stackFrame.js konumudur.

Güncelleme 2:

Devre Dışı Bırakma Kundakçı çalışır. Firefox ve Chrome konsolundaki belirli hataları gösterir. $http.post() yanıt işlevinin içinde bir hata olduğunda Firebug'da bu tür bir hata gösterildiğini eklemek istiyorum. Başka vakaların test edilmesi.

Güncelleme 3: https://github.com/firebug/firebug/issues/7948 atıfla

, bu konunun kundakçı 2.0.13 yılında çözüldü.

+0

Hata ne olduğunu gösteriyor: stackFrame.js, satır 357, href boş, Tür hatası. Bu sana yardım etmiyor mu? – dfsq

+0

stackFrame.js, uygulamamın bir js dosyası değil. Lütfen güncellemeye bakın. –

+0

@MohitAdwani: Firebug'ı devre dışı bırakmayı denediniz mi? – Shivi

cevap

1

AngularJs'te özel istisna işlemeyi kullanabilirsiniz. ($ Temsilci dekore edilen hizmeti temsil ederken, addError $ rootScope üzerinde özel bir yöntemdir)

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); 
     }; 
    }); 

}); 

Bu çağrı, varsayılan uygulamaya kadar düşmesine izin vermeden önce bağlama veri için $ rootScope için tüm hataları gönderecek. Bazı genel mantığı kapsüllemek için

hata hizmeti.

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

Taşıma Hata:

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

Cevabınız için teşekkür ederim ama bunun neden firebug'da olduğunu bilmek istiyorum. Önerdiğin şeyi uygulamamıştım ve bunu uygulayabilirim. Ama bu aradığım cevap değil. Maalesef –

+1

href, bazı servislerin düzgün yanıt almaması veya uygun olmayan bir şekilde json yapınızın ng-yinelemesini kullanmanız olabilir. Bunu uygulayabilir ve sonra tam bir hatayı öğrenebilirsiniz. Bu, hata ayıklama zamanınızı kaydedecektir. – Shrinath

+0

Evet. Bu hatayı $ http.post'un yanıt fonksiyonu içerisinde alıyorum. Bu hata, firebug'da belirsiz olarak gösterilir, ancak varsayılan tarayıcılar konsolunda tam olarak neyin yanlış olduğunu gösterir. Ateş böceği veya başka bir şeyde bu bir çeşit hata mı? –

5

Açıkçası Firebug bir hata olduğunu. kendi kodu içinde ilgili çizgisi bu biridir:

https://github.com/firebug/firebug/blob/a389cf78b310aedf33531520cc11f1e05051ecc3/extension/content/firebug/debugger/stack/stackFrame.js#L357

bu tamir etmek istiyorsanız, file a bug report for Firebug gerekir.

+0

Github repo'larına bir sorun yazdım. Onların cevabının ne olduğunu görelim. –

+0

Firebug.next dosyasında yanlış yazdınız [https://github.com/firebug/firebug.next/issues/413]. (Bu Firebug'un gelecekteki büyük sürümleri içindir.) [Firebug deposunda] (https://github.com/firebug/firebug/issues) dosyasında bunu kaydetmeniz gerekir. Ayrıca, konuyla ilgili olarak bu SO sorusuna geri dönmeli ve basit bir test vakasına sorununuzu çözmeyi denemelisiniz, bu yüzden sorun çoğaltılabilir. –

+0

Üzgünüm. Bunu bilmiyordum. Bunu değiştirmeme izin ver. –

İlgili konular