Используя bool (возвращают Тип) обрабатывать исключения или исключение передачи клиенту?

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

В тех случаях, Вы не хотели бы позволять тому исключению распространить и заставить целое приложение перестать работать (Жаль парни, больше системы навигации, наш подающий звуковой сигнал модуль, разрушенный, и не было действительно ничего, что мы могли делать с этим).

Отредактированный, чтобы сказать, что в любом из этих случаев, Вы, по крайней мере, хотели бы зарегистрировать событие где-нибудь.

5
задан dove 6 December 2012 в 16:51
поделиться

5 ответов

Создайте пузырек исключения для КЛИЕНТА и обработайте его там. Обязательно передайте его во всех подробностях. Большинство лучших практик почти полностью соглашаются с этим, всегда в конце концов обрабатываются по периметру, в данном случае КЛИЕНТ, хотя в других случаях это может быть веб-сервис.

Ловите только если вы хотите журнал это, добавьте дополнительную информацию или попробуйте восстановить из определенного исключения. В каждом случае вы либо создадите новое исключение с оригиналом как внутреннее, либо просто «выбросите» оригинал как есть, и, как указано в комментариях, не «бросайте ex»

Этот вопрос является рядом duplicate , и вы найдете множество существующих вопросов по SO с очень хорошими ответами.

10
ответ дан 18 December 2019 в 06:51
поделиться

Если метод не может выполнить свою работу, он должен вызвать исключение. Никогда не возвращать исключение в результате.

4
ответ дан 18 December 2019 в 06:51
поделиться

Вам следует начать читать Руководство по разработке исключений

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

Например: Если вы используете веб-сервисы (ASMX или WCF) в качестве серверной части, вы можете взглянуть на Повышение безопасности веб-сервисов и прочитать части, касающиеся обработки исключений.

5
ответ дан 18 December 2019 в 06:51
поделиться

Отличный вопрос!

Не используйте код исключения. По большей части делают вид, что их никогда не было. Меня беспокоит исключение в двух случаях: отображение обратной связи об ошибке для пользователя и управление ресурсами (т.е. закрытие открытого файла при возникновении исключения).

1
ответ дан 18 December 2019 в 06:51
поделиться

Подход, который рекомендуется и считается наилучшей практикой, заключается в использовании исключений. Вы можете (и должны) прочитать Framework Design Guidelines (2nd Ed.) , в котором есть рекомендации по исключениям и шаблону try-parse.

Есть несколько проблем с использованием кодов возврата (числовых или логическое значение), два из них:

  • Программисты легко упускают из виду / игнорируют
  • Не могут использоваться во всех ситуациях. Что произойдет, если ваш конструктор выйдет из строя? Вы не можете явно вернуть значение из конструктора.

Что касается того, когда обрабатывать исключения, вы должны обрабатывать их только тогда, когда вы можете сделать что-то значимое с исключением. Проблема с постоянной обработкой исключений, чтобы клиент никогда их не видел, заключается в том, что вы можете обработать исключение, которое вам не следует '

2
ответ дан 18 December 2019 в 06:51
поделиться
Другие вопросы по тегам:

Похожие вопросы: