angular의 이상 메커니즘과 이상 이외의 처리

자세히 보기
angularjs의 공식 문서를 조회한 결과: 문서에throw이상이 언급되었습니다.
angular.module('exceptionOverride', []).factory('$exceptionHandler', function() {
  return function(exception, cause) {
    exception.message += ' (caused by "' + cause + '")';
    throw exception;
  };
});

또한 다음과 같이 예외 포착에 대해 설명합니다.
try { ... } catch(e) { $exceptionHandler(e); }

사실 이 두 가지는 js이상처리에서도 자주 사용되지만 이것은 js에서 사용하는 것과 무엇이 다른지 다음에 계속 고증해 보겠습니다. 사실angluarjs에서 이상을 처리하려면 서비스 서비스의 $ExceptionHander 구성 요소를 사용해야 합니다. 구성 요소를 도입한 후에 디버깅하기 싫은 버그를 대담하게 처리할 수 있습니다. 다음은 예를 들어 보겠습니다.
var module = angular.module("apple", []);
module = [ '$scope' , '$exceptionHandler' , function ( scope, exceptlogger) {....
try {  } catch(e) {exceptlogger(e); }

프로젝트를 할 때 플러그인을 호출하는 방법에 오류가 발생했습니다. 예를 들어 uncaught exception 등 오류가 발생했습니다. 이런 포획 방식은 이상을 포획할 수 없습니다. 그러면 우리는 다른 포획 방식을 사용해야 합니다.
윈도우를 사용합니다.onerror 메소드 캡처 예외:
// 
window.onerror = fnErrorTrap;
    function fnErrorTrap(msg,url){
               console.log( "Error: " + msg+ "URL: " + url);
    // true, , 
                     return true;
     }

 
기사 출처:http://www.cnblogs.com/2014-1130/p/4847580.html

좋은 웹페이지 즐겨찾기