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