如何处理任何进入浏览器控制台的不可预测的异常。任何这种不可预测的异常我想以角度方式记录到我的控制器或服务中的某些方法。如果是,请使用$ exceptionHandler,请提示方法。
答案 0 :(得分:2)
您可以覆盖$ exceptionHandler。 e.g。
angular.module('myApp').factory('$exceptionHandler', ['$injector', ($injector) ->
(exception, cause) ->
$location = $injector.get('$location')
$analytics = $injector.get('$analytics')
$log = $injector.get('$log')
environment = myApp.config.environment
tag = {
'event': 'unCaughtError'
'pageUrl': $location.path()
'environment': environment
'message': message
'cause': cause
}
if environment in ['production', 'staging']
$analytics.eventTrack('unCaughtError', tag)
if environment is 'local'
$log.error(exception)
])
在上面的示例中,如果环境为stagging
或production
,我会跟踪分析事件,如果是本地/开发,我会记录错误。您可以根据需要进行调整。