3

我试图覆盖:

.factory('$exceptionHandler', function ($log, logger) {
    return function (exception, cause, more) {
         aLoggerServiceIDefined.error(exception, cause);
    };
})
  1. 如何获得更有意义的异常?
  2. 我怎样才能得到堆栈跟踪?

对于堆栈跟踪,我尝试使用 stacktrace.js,但是当异常发生时它没有给我原始跟踪,而只有当前堆栈。

4

1 回答 1

1

如果您使用堆栈跟踪,只需使用以下格式:

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

另外,我会使用装饰器而不是覆盖 $exceptionHandler(请参阅如何覆盖 $exceptionHandler 实现):例如,在咖啡脚本中:

$provide.decorator "$exceptionHandler", ($delegate) ->
  (exception, cause) ->
    $delegate(exception, cause)
    trace = printStackTrace({e: exception})
    console.debug("Trace:#{trace} \nCause: #{cause}")
于 2013-10-07T09:12:33.393 回答