我试图覆盖:
.factory('$exceptionHandler', function ($log, logger) {
return function (exception, cause, more) {
aLoggerServiceIDefined.error(exception, cause);
};
})
对于堆栈跟踪,我尝试使用stacktrace.js,但它不会在发生异常时给出原始跟踪,但只给出当前堆栈。
答案 0 :(得分:1)
如果您使用stacktrace,只需使用以下格式:
var trace = printStackTrace({e: lastError});
另外,我会使用装饰器而不是覆盖$ exceptionHandler(参见How to override $exceptionHandler implementation): 例如,在coffeescript中:
$provide.decorator "$exceptionHandler", ($delegate) ->
(exception, cause) ->
$delegate(exception, cause)
trace = printStackTrace({e: exception})
console.debug("Trace:#{trace} \nCause: #{cause}")