2015-09-29 5 views
10

मैं अपने आवेदन में कोणीय-भौतिक पुस्तकालय के साथ AngularJS का उपयोग कर रहा हूं। समस्या यह है कि, जब भी नियंत्रक के किसी भी फ़ंक्शन में कोई त्रुटि होती है, तो यह विशिष्ट त्रुटि नहीं दिखाती है बल्कि यह हर बार एक ही सामान्य त्रुटि दिखाती है, यह देखते हुए कि आप यह निर्धारित नहीं कर सकते कि क्या गलत हुआ है।एंगुलरजेएस अब फायरबग कंसोल में विशिष्ट त्रुटियों को नहीं दिखाता है

यहां मेरे कंसोल में दिखाई गई त्रुटि है।

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) 

यहाँ कि त्रुटि के स्क्रीनशॉट है। Error as shown in Firebug

पीएस: मैं अपने आवेदन को आलसी लोड करने के लिए RequJS जावास्क्रिप्ट लाइब्रेरी का उपयोग कर रहा हूं। मैं अपने आवेदन में ui.router का भी उपयोग कर रहा हूं।

अद्यतन 1: stackFrame.js मेरे आवेदन की एक जावास्क्रिप्ट फ़ाइल नहीं है। stackFrame.js का स्थान है:

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

और यह हमेशा किसी भी नियंत्रक में अपने आवेदन भर एक ही लाइन पर एक ही त्रुटि दिखाता है, भले ही मैं आवेदन में विभिन्न त्रुटियों का सामना।

अद्यतन 2:

अक्षम Firebug काम करता है। यह फ़ायरफ़ॉक्स और क्रोम कंसोल में विशिष्ट त्रुटि दिखाता है। मैं जोड़ना चाहता हूं, कि $http.post() के प्रतिक्रिया फ़ंक्शन के अंदर कोई त्रुटि होने पर फ़ायरबग में इस प्रकार की त्रुटि दिखाई जाती है। आगे के मामलों का परीक्षण।

अद्यतन 3:

https://github.com/firebug/firebug/issues/7948 के संदर्भ के साथ

, इस मुद्दे फ़ायरबग 2.0.13 में हल किया गया है।

+0

त्रुटि दिखाती है कि क्या गलत हुआ: stackFrame.js, लाइन 357, href शून्य है, टाइप त्रुटि। यह आपकी मदद नहीं करता है? – dfsq

+0

stackFrame.js मेरे आवेदन की जेएस फ़ाइल नहीं है। कृपया अद्यतन देखें। –

+0

@ मोहित अदवानी: क्या आपने फायरबग को अक्षम करने का प्रयास किया था? – Shivi

उत्तर

1

आप 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 पर एक कस्टम विधि है, जबकि $ प्रतिनिधि सजाया जा रहा है सेवा का प्रतिनिधित्व करता है) भेजेगा।

कुछ सामान्य तर्कों को समाहित करने के लिए त्रुटियों की सेवा।

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!")); 
+0

उत्तर के लिए धन्यवाद लेकिन मुझे यह जानने की जरूरत है कि यह फ़ायरबग में क्यों हो रहा है। मैंने आपके द्वारा सुझाए गए कार्यों को लागू नहीं किया है और मैं इसे लागू कर सकता हूं। लेकिन वह जवाब नहीं है जिसे मैं ढूंढ रहा हूं। क्षमा करें –

+1

href शून्य है इसका मतलब है कि कुछ सेवा उचित प्रतिक्रिया नहीं मिल रही है या हो सकता है कि यदि आप अपने जेसन संरचना को एनजी-दोहराने का उपयोग कर रहे हैं तो उचित नहीं है। आप इसे कार्यान्वित कर सकते हैं और फिर आपको सटीक त्रुटि पता चलेगी। यह आपके डिबगिंग का समय बचाएगा। – Shrinath

+0

हां। मुझे यह त्रुटि $ http.post के प्रतिक्रिया फ़ंक्शन के अंदर मिल रही है। यह त्रुटि फायरबग में अस्पष्ट रूप से दिखाया गया है लेकिन डिफ़ॉल्ट रूप से ब्राउज़र के कंसोल में यह दिखा रहा है कि क्या गलत है। क्या यह किसी प्रकार की बग फायरबग या पूरी तरह से कुछ और है? –

5

यह स्पष्ट रूप से Firebug में एक बग है। आपको चाहिए file a bug report for Firebug

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

आप इस तय करना चाहते हैं तो,: अपने कोड के भीतर संबंधित लाइन इस एक है।

+0

मैंने पहले से ही अपने जीथब रेपो पर एक मुद्दा दायर किया है। चलिए देखते हैं कि उनका जवाब क्या है। –

+0

आपने इसे [दायर किया] [https://github.com/firebug/firebug.next/issues/413) Firebug.next रिपॉजिटरी में, जो गलत है। (यह फ़ायरबग के भविष्य के प्रमुख संस्करणों के लिए है।) आपको इसे [फायरबग रिपोजिटरी] (https://github.com/firebug/firebug/issues) में दर्ज करने की आवश्यकता है। इसके अलावा, इस मुद्दे में आपको इस SO प्रश्न पर वापस जाना चाहिए और अपनी समस्या को एक साधारण परीक्षण मामले में तोड़ने का प्रयास करना चाहिए, इसलिए समस्या को पुन: उत्पन्न किया जा सकता है। –

+0

क्षमा करें। मैं नहीं जानता था कि। मुझे इसे बदलने दो। –

संबंधित मुद्दे