Ввести доменные исключения и ресурсы текстов ошибок
DealException/NotFoundException/Validation/Conflict/ServiceUnavailable с кодом ошибки, тексты в ErrorMessages.resx. Общий HTTP-обработчик (DealExceptionHandler) и маппинг в gRPC-интерцепторе: доменные ошибки → статус, прочие → обобщённый текст без стектрейса. Правила закреплены в код-стайле §10.
This commit is contained in:
@@ -0,0 +1,33 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="UnexpectedError" xml:space="preserve">
|
||||
<value>Внутренняя ошибка сервиса. Обратитесь в поддержку.</value>
|
||||
</data>
|
||||
<data name="NotFoundEntity" xml:space="preserve">
|
||||
<value>Объект не найден: {0}.</value>
|
||||
</data>
|
||||
<data name="NotFoundEntityWithId" xml:space="preserve">
|
||||
<value>Объект не найден: {0} (id: {1}).</value>
|
||||
</data>
|
||||
<data name="ValidationFailed" xml:space="preserve">
|
||||
<value>Некорректные данные запроса: {0}.</value>
|
||||
</data>
|
||||
<data name="ConflictState" xml:space="preserve">
|
||||
<value>Конфликт состояния: {0}.</value>
|
||||
</data>
|
||||
<data name="ServiceUnavailable" xml:space="preserve">
|
||||
<value>Сервис «{0}» временно недоступен.</value>
|
||||
</data>
|
||||
</root>
|
||||
Reference in New Issue
Block a user