我从另一个开发人员那里接管了一个Angular应用程序.
现在我一直在玩它并进行我的第一次编辑.
问题是:当我绑定到不存在的元素(或犯任何其他错误)时,我没有看到任何错误,这听起来不错,但不是因为我想在我做错事时收到通知.
解决方法
首先,我建议不要使用angular的缩小版本,因为未明细版本允许在控制台中记录更多连贯且清晰的错误.
接下来,我认为处理角度错误的最佳方法是编写自定义包装器以更好地处理它们.这是一个如何编写包装器的示例.
第一步是编写一个能够以您想要的方式处理错误的函数.这就是我当前处理角度误差的方法.注意:可以通过多种不同方式对其进行修改,以使错误处理更加自定义.
function HandleAngularError(Exception,AppName){ try { var AppName = (window.parent._.isEmpty(AppName) ? "Angular App Unspecified" : AppName) + " - "; if (window.parent._.isUndefined(Exception)) { console.log(strAppName + "error: exception undefined","AngularJs"); } else { console.log(strAppName + "error: " + Exception.toString() + " " + JSON.stringify(Exception),"AngularJs"); } } catch (e) { alert("Handle Angular Error: " + Exception.toString() + " " + JSON.stringify(Exception)); } }
下一步是在项目的任何模块中包含错误处理函数,并依赖$exceptionHandler然后将角度错误传递到自定义包装器中,如下所示:
angular.module("someApp",[],function(){ //setup stuff here }).factory( '$exceptionHandler',function () { return function (exception) { HandleAngularError(exception,"someApp"); }; });