我正在尝试在我的Ionic应用程序中捕获异常,因此我可以将它们记录在我的日志处理程序中,但我尝试的方式似乎都没有。
我通过引用未定义的变量来触发异常。我可以看到异常被捕获并记录在JavaScript控制台中,但我找不到任何方式在我的应用程序中收到通知。
首先,我尝试了像这样的window.onerror:
<script> tag
那没有抓住它。然后我尝试重写$ exceptionHandler,如下所述:https://docs.angularjs.org/api/ng/service/$exceptionHandler。这是我的代码:
window.onerror = function(message, url, lineNumber, columnNumber, error) {
log.error('caught javascript exception: ' + message + ' at ' + url + ' ' + lineNumber + ':' + columnNumber);
return true;
};
不幸的是,那也没有用。在这两种情况下,我仍然会在JavaScript控制台中看到异常,但不是我的处理程序。
为了完整性,这里的异常是什么,当它被记录到我的控制台时(运行离子的实时更新,angular.module('exceptionOverride', []).factory('$exceptionHandler', function() {
return function(exception, cause) {
log.error('angular exception: ' + exception.message + ' (caused by ' + cause + ')');
};
});
):
ionic run android -c -l -s
我错过了什么?