Please enable JavaScript.
Coggle requires JavaScript to display documents.
Глава 5. Исключения: безопасность и обработка - Coggle Diagram
Глава 5. Исключения: безопасность и обработка
Как CLR трактует исключения
Роль CLR (Common Language Runtime)
CLR управляет исключениями, обеспечивая их перехват и обработку.
Типы исключений
Системные исключения: генерируются средой выполнения (например, NullReferenceException, IndexOutOfRangeException).
Пользовательские исключения: создаются разработчиками для обработки специфических ошибок в приложении.
Что такое исключение
Исключение — это событие, которое нарушает нормальный поток выполнения программы
Стратегия обработки
Когда возникает исключение, CLR ищет обработчик исключений, начиная с текущего блока кода и поднимаясь по стеку вызовов.
Механика обработки исключений в C#
Структура обработки исключений
Использование блоков try, catch, finally для обработки исключений.
Множественные блоки catch
Возможность определения нескольких блоков catch для обработки различных типов исключений.
Перехват исключений
Можно использовать catch без указания типа, чтобы перехватить все исключения, но это не рекомендуется, так как может скрыть ошибки.
Проброс исключений
Использование ключевого слова throw для повторного выбрасывания исключения после его обработки.
Создание пользовательских классов исключений
Создание собственного класса исключения
Необходимо наследовать от класса Exception или его производного класса.
Использование пользовательских исключений
Выбрасывание пользовательских исключений с помощью throw new MyCustomException("Сообщение об ошибке");.
Документация и обработка
Рекомендуется документировать пользовательские исключения для удобства их использования и обработки.
Обеспечение поведения отката
Что такое откат:
Откат — это процесс возврата системы в предыдущее состояние в случае ошибки.
Использование блока finally
Код в блоке finally выполняется независимо от того, произошло исключение или нет, что позволяет освободить ресурсы или выполнить очистку.
Транзакции
Использование транзакций для обеспечения целостности данных при работе с базами данных. Если возникает ошибка, транзакция может быть отменена (откат).
Обработка ресурсов
Реализация интерфейса IDisposable и использование конструкции using для автоматического управления ресурсами.