July 10, 2014
Fehler ohne Fehlermeldung
Wer seine AngularJS Anwendung mit Chrome entwickelt und debugged, hat in letzter Zeit sicher schon bemerkt, dass auf der Konsole manchmal keine sinnvollen Fehlermeldungen mehr ausgegeben werden. Statt dessen ist hier nur Uncaught object
und ein wenig bis nichts aussagender Stacktrace zu sehen.
Dieses Verhalten tritt jedoch nicht bei allen Fehlern bzw. nicht bei allen Arten von Fehlern auf. Ich konnte es meist bei Fehler bei Modulen beobachten.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
Uncaught object angular.js:78 (anonymous function) angular.js:78 (anonymous function) angular.js:3809 forEach angular.js:323 loadModules angular.js:3775 createInjector angular.js:3715 doBootstrap angular.js:1379 bootstrap angular.js:1394 angularInit angular.js:1307 (anonymous function) angular.js:21459 trigger angular.js:2509 (anonymous function) angular.js:2780 forEach angular.js:330 eventHandler angular.js:2779 |
Ich hatte erst AngularJS in verdacht, nach ein wenig Recherche wurde ich aber (zum Glück) eines besseren belehrt: Es liegt an Chrome! Chrome verwirft Fehlermeldungen ab einer bestimmten Länge. Und da AngularJS meist sehr ausführliche Meldungen ausgibt (zumindest in der nicht minimierten Version), werden diese von Chrome dann nicht angezeigt.
Zwei Möglichkeiten haben wir jetzt:
1) Firefox bzw. einen anderen Browser verwenden und auf ein Update von Chrome warte. Der Fehler soll wohl in Chrome 37 (aktuell ist 35) gefixt sein/werden
2) Chrome Canary installieren. Hier ist der Bugfix bereits eingeflossen.
Detailliertere Informationen dazu gibt es im einem Ticket bei AngularJS.