2013-07-15 2 views
3

나는 무시하려고했다 :angularjs에서 예외 및 스택 추적을 기록하는 방법은 무엇입니까?

.factory('$exceptionHandler', function ($log, logger) { 
    return function (exception, cause, more) { 
     aLoggerServiceIDefined.error(exception, cause); 
    }; 
}) 
  1. 을 좀 더 의미있는 예외를 얻을 수있는 방법?
  2. 어떻게 스택 추적을 얻을 수 있습니까?

stacktrace에서 stacktrace.js를 사용하려고했지만 예외가 발생했을 때 원본 추적을 제공하지 않지만 현재 스택 만 제공합니다. 당신은 단순히이 형식을 사용 스택 트레이스를 사용하는 경우

답변

1

: 또한

var trace = printStackTrace({e: lastError}); 

을, 나는 (How to override $exceptionHandler implementation 참조) 대신 $ exceptionHandler를 오버라이드 (override)의 장식을 사용합니다 : 예를 들어 , 커피 스크립트에 :

$provide.decorator "$exceptionHandler", ($delegate) -> 
    (exception, cause) -> 
    $delegate(exception, cause) 
    trace = printStackTrace({e: exception}) 
    console.debug("Trace:#{trace} \nCause: #{cause}") 
관련 문제