protected virtual bool DefaultExceptionProcessor( Exception exception, IExceptionDataSetter exceptionDataSetter, out ExceptionData exceptionData, string caller = null) { exceptionData = null; return(false); }
public bool Handle( Exception exception, IExceptionDataSetter exceptionDataSetter, out ExceptionData exceptionData, string caller = null) { exceptionData = null; var process = _processors.LastOrDefault(P => P.Key == exception.GetType()).Value; if (process != null) { return(process.ExtractExceptionData(exception, exceptionDataSetter, out exceptionData)); } return(DefaultExceptionProcessor(exception, exceptionDataSetter, out exceptionData)); }
public ExceptionData Handle(Exception exception, [CallerMemberName] string Caller = null) { ExceptionData ReturnExceptionData = DefaultExceptionData(exception, Caller); foreach (var receiver in receivers) { if (receiver.Handle(exception, exceptionDataSetter, out ReturnExceptionData, Caller)) { break; } } if (ReturnExceptionData == null) { ReturnExceptionData = DefaultExceptionData(exception, Caller); } return(ReturnExceptionData); }