Когда обернуть исключения - PullRequest
7 голосов
/ 23 декабря 2010

Должен ли я заключить каждое исключение в более значимое исключение?Значение обтекания делает исключение внутренним исключением нового исключения и выдает «новое» исключение.

Какие факторы мне нужно учитывать при этом?

Является ли идея обтеканияисключения, потому что:

SQL Server может выдать кучу исключений из уровня T-SQL.Мой C # API будет обрабатывать только SQLException (дескриптор означает, что для него есть блок catch), поэтому я бы хотел обернуть исключения в тип, который может обрабатывать мой API.Это всего лишь пример, SQL Server генерирует только SQLException, но правильна ли эта концепция?

Я предполагаю, что создание «нового» исключения, как упоминалось выше, будет содержать причину, которая не является реальной причинойразработчик должен знать), поэтому будет более дружественным для конечного пользователя и скрывать важные детали реализации реального / первого исключения.

Спасибо

1 Ответ

6 голосов
/ 23 декабря 2010

Вы на правильном пути.Рекомендуется переносить исключения, когда они пересекают границы прикладного уровня.Следующие два поста являются хорошим чтением о лучших практиках

  1. Из MSDN
  2. Java специфично
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...