2017-01-09 61 views
0

我試圖通過編寫的常用方法來控制整個JavaScript應用程序異常,但無法得到任何確切的解決方案。我想下面的代碼,但有時它沒有奏效如何用一種方法全局處理JavaScript異常?

<script type="text/javascript"> 

      window.onerror = function() { 
       alert("An error occurred."); 
      } 

     </script> 

同樣可以在角使用以下方法來實現:

$provide.decorator('$exceptionHandler', function ($delegate) { 
     return function (exception, cause) { 
      $delegate(exception, cause); 
      var initInjector = angular.injector(['ng']); 
      var $http = initInjector.get('$http'); 

      $http({ 
       method: 'POST', 
       url: '/api/common/send_email', 
       data: {message: new Date() +': '+ exception.stack}, 
       headers: { 
        'Content-Type': 'application/json;charset=utf-8' 
       } 
      }).then(function successCallback(response) { 

       }, function errorCallback(response) { 

       }); 
     }; 
    }); 

任何人都可以請幫我在純JavaScript或jQuery的類似的方法來處理通過一種方法完成應用程序例外。

+3

的[全球的Javascript錯誤處理]可能的複製(http://stackoverflow.com/questions/951791/javascript-global-error-handling ) – djxak

+1

您能否舉例說明所提供的代碼無法正常工作的情況,以及您如何預計它能夠正常工作? –

回答

0

只是不使用註釋,應該是這樣的

<script type="text/javascript"> 
    window.onerror = function myErrHandler(errorMsg, url, lineNumber) { 
     alert("Error: " + errorMsg); 
     return false; 
    } 
</script> 
+0

對不起,我只是用了相同的,這只是一個錯字... –