Я разрабатываю окно приложение в VS2015 Моего запроса относительно два возможных методов обработки определенной системы исключений: - Использование попробовать блоки, где это возможно, и обрабатывать его - Определить класс исключения и записывать все возможные исключения (я фокусирую только определенные системой исключения, такие как File Not Found, Null Reference) и наследует этот класс в других классах, которые автоматически будут обрабатывать исключения. Может ли кто-нибудь посоветовать мне, какой метод лучше, и если второй метод лучше, как его реализовать и использовать. Мои классы уже наследуются от формы. Мне нужен интерфейс? Если да, то где я могу реализовать методы? Любая помощь приветствуется! Спасибо заранее.возможности иметь класс, посвященные обработки исключений в C#
-1
A
ответ
1
Способ 2 возможен. Я бы рекомендовал его, если вы всегда ожидаете такого же исключения.
Если вызываемые методы могут выдавать исключительные исключения, лучше обращаться с ними близко к тому месту, где они были выбраны.
Вы можете определить метод обертку для перехвата исключений, как это:
public bool TryExecuteServiceAction(Action a) {
if (a == null) {
throw new ArgumentNullException("a");
}
try {
a();
return true;
}
catch (SecurityAccessDeniedException sade) {
Logger.Error(sade);
return false;
}
}
Продлить эту модель, возвращая ResultObject
, который содержит код ошибки, сообщение и т.д., вместо того, чтобы вернуться bool
.
Используйте обертка как этот
DoSomethingDto serviceResult = null;
var success = TryExecuteServiceAction(() => serviceResult = _service.DoSomething(command));
if (success) {
// we know that the service call was successful and the DTO has data
// work with DTO ...
}
else {
// e.g. show generic error message to user
}
Смежные вопросы
- 1. C# класс обработки исключений
- 2. C# Область обработки исключений
- 3. Отсутствие обработки обработки исключений?
- 4. Как создать класс обработки исключений и ведения журнала в C#
- 5. C++ самодельного сбоя обработки исключений
- 6. Написание функции для обработки исключений в C#
- 7. Реализация обработки исключений GCC C++
- 8. Спецификация исключений против обработки исключений
- 9. Способы обработки исключений
- 10. Концепция обработки исключений Java
- 11. Исключение против обработки исключений исключений в языках стиля c
- 12. C++ googletest обработки исключений в try-блоке
- 13. Временное решение для обработки исключений в C#
- 14. Каковы наилучшие методы обработки исключений в C#?
- 15. Реализация обработки исключений в ASP.NET C# Project
- 16. Обработка исключений для обработки исключений
- 17. log4j проблема обработки исключений
- 18. xml возможности обработки в python
- 19. Struts2 Использование обработки исключений?
- 20. Образец обработки исключений
- 21. Методы обработки исключений XSLT
- 22. C++ Класс, содержащий обработку исключений
- 23. C# Использовать атрибут для обработки исключений в MVC
- 24. C++ Обработка исключений для ARM - Формат общих таблиц обработки исключений
- 25. Лучшая альтернативная модель обработки исключений
- 26. Эффективные методы обработки исключений
- 27. Назначение обработки исключений Java
- 28. Задание компиляторов C++ для проверки обработки исключений
- 29. Планирование обработки исключений для приложения плагина C++
- 30. C++ пытаются блоков и обработки исключений
Это было бы очень плохая идея. Обычно исключения требуют специальной обработки. Итак, если вы поймали «NullReferenceException», что бы вы сделали в обработчике? Вы бы не поняли, как выздороветь. Единственное, что может быть полезно, это очень общее сообщение об ошибке (т. Е. «Ошибка произошла, извините») или протоколирование. – DavidG
Используйте третий вариант: добавьте try-catch на самом низком уровне и обработайте ваши общие исключения. – Maarten