AngularJS似乎将用户提供的回调包装到try-catch
中。这在生产中可能很有用,但是我可以在开发期间错过关键异常。
如何关闭此功能?我希望Angular不要捕获或重新抛出用户代码中的所有异常。
示例:
$http.get(someUrl)
.success(function(data){
//bla-bla-bla
})
.finally(function(){
$scope.functionA(); //division by zero exception inside
$scope.functionB();
});
我在functionA
中遇到未处理的异常,并且functionB
永远不会被执行。通常异常气泡到顶部,我在控制台中看到一条红色消息。但这次我没有,所以我花了5分钟来调试发生的事情。
PS :Chrome devtools可以选择暂停已处理的例外。不幸的是,我得到了很多,但大多数似乎都是在AngularJS内部抛出和处理的。我有一个充满隐形错误的应用程序,这对于Angular来说是正常的。无论如何,有没有办法告诉角度不要像示例那样吞下异常?