Я пытался прочитать больше о том, что делать, чтобы правильно перехватывать / обрабатывать исключения, но я не думаю, что у меня это получилось. На самом деле, я думаю, что я все больше путаюсь и, возможно, реализую плохой код. Я не хочу этого делать.
Пример настройки, которую я использовал:
- Мобильное устройство выполняет вызов в службу WCF.
- Служба WCF извлекает данные из базы данных, и если на уровне базы данных возникают какие-либо ошибки, они регистрируются, и мне отправляется электронное письмо.
- Служба WCF отправляет данные (или краткое описание исключения) на мобильное устройство.
- Мобильное устройство обрабатывает данные и, если возникает какая-либо ошибка, выдает ошибку до уровня пользовательского интерфейса.
Для некоторых исключений я создал пользовательские - исключение службы, исключение авторизации, чтобы я мог надлежащим образом уведомить пользователя. Если служба обнаружила ошибку или возникла исключительная ситуация IOException, пользователь будет уведомлен о том, что «данные не могут быть получены».
Если, однако, возникает другая ошибка - например, ошибка JSON или что-то подобное «на всякий случай», ошибка выбрасывается на уровень пользовательского интерфейса и просто перехватывается как Exception
, поскольку нам на самом деле не нужно пользователю знать, что произошло, но произошла ошибка.
Это соответствующая обработка исключений?