DealException/NotFoundException/Validation/Conflict/ServiceUnavailable с кодом ошибки, тексты в ErrorMessages.resx. Общий HTTP-обработчик (DealExceptionHandler) и маппинг в gRPC-интерцепторе: доменные ошибки → статус, прочие → обобщённый текст без стектрейса. Правила закреплены в код-стайле §10.
20 lines
545 B
C#
20 lines
545 B
C#
using Deal.SharedKernel.Resources;
|
|
|
|
namespace Deal.SharedKernel.Errors;
|
|
|
|
/// <summary>
|
|
/// Запрошенный объект не найден.
|
|
/// </summary>
|
|
public sealed class NotFoundException : DealException
|
|
{
|
|
public NotFoundException(string entityName)
|
|
: base(DealErrorCodes.NotFound, ErrorResourceKeys.NotFoundEntity, entityName)
|
|
{
|
|
}
|
|
|
|
public NotFoundException(string entityName, string entityId)
|
|
: base(DealErrorCodes.NotFound, ErrorResourceKeys.NotFoundEntityWithId, entityName, entityId)
|
|
{
|
|
}
|
|
}
|