Вот мой метод регистрации ошибок:
Код: Выделить всё
public async Task CreateError(Exception e)
{
var Error = new ErrorLog
{
StackTrace = e.StackTrace,
ErrorMessage = e.Message,
ErrorSource = e.Source,
MethodName = e.TargetSite?.Name
};
string exceptionText = "Exception:" + e.ToString();
if (e.InnerException != null)
{
exceptionText = exceptionText + "Exception.InnerException:" + e.InnerException.ToString();
if (e.InnerException.InnerException != null)
{
exceptionText = exceptionText + "Exception.InnerException.InnerException:" +
e.InnerException.InnerException.ToString();
}
}
Error.InnerMessage = exceptionText;
_unitOfWork.ErrorLogRepository.Add(Error);
return await _unitOfWork.CommitAsync();
}
SqlException: инструкция INSERT конфликтует с FOREIGN KEY ограничение (...)
А вот как вызывается метод CreateError
Код: Выделить всё
public async Task ErrorMethod(var a)
{
(...)
catch(Exception ex)
{
var ret = await _errorService.CreateError(ex);
responseDto.Errors.Add(new ErrorMessageDto { ErrorCode="TestError",Message = ex.Message});
}
return Ok(response);
}
Подробнее здесь: https://stackoverflow.com/questions/791 ... exceptions
Мобильная версия