2015-07-21 50 views
0

如何處理任何不可預知的異常都到瀏覽器的console.Any這種不可預知的例外,我想登錄到一些方法,這是在我的角度向控制器或服務來處理任何不可預知的異常都到瀏覽器控制檯。我所能做的使用$ exceptionHandler的如果是請建議的方式。如何使用angularjs

回答

2

您可以覆蓋$ exceptionHandler的。例如

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) 

]) 

在上述例子中,如果環境是staggingproduction我跟蹤分析的情況下,如果它是本地/發展我記錄錯誤。您可以根據自己的需求進行調整。