Принципы объектно-ориентированного программирования




ГЛАВА 12 Обработка ошибок с помощью исключений


    ГЛАВА 12 Обработка ошибок с помощью исключений
    ГЛАВА 12 Обработка ошибок с помощью исключений Обзор обработки исключений Основной синтаксис обработки исключений Передача исключения Улавливание исключения Повторная передача исключения Освобожде...
    Обзор обработки исключений
    Обзор обработки исключений Исключения — это условия, при которых нормальный ход программы, т. е. последовательность вызовов методов в стеке вызовов, невозможен или нежелателен. Надо понимать разни...
    Основной синтаксис обработки исключений
    Основной синтаксис обработки исключений При обработке исключений используются всего четыре ключевых слова: try, catch, throw к finally. Способ применения ключевых слов прост и понятен. Когда метод...
    Передача исключения
    Передача исключения Чтобы методу уведомить вызвавший его метод, что возникла ошибка, он использует ключевое слово throw. throw [выражение]; Мы рассмотрим разные способы передачи исключений чуть по...
    Улавливание исключения
    Улавливание исключения Если метод может передавать исключения, должна быть обратная сторона, которая находит это исключение. Ключевое слово catch определяет блок кода, который выполнится при возни...
    Повторная передача исключения
    Повторная передача исключения Случается, что метод, уловивший исключение и сделавший все, что он может в своем контексте, затем повторно передает (rethrow) исключение выше. Это легко реализовать с...
    Освобождение ресурсов с помощью finally
    Освобождение ресурсов с помощью finally Один трудный вопрос с обработкой ошибок связан с тем, что код всегда выполняется независимо от того, уловлено ли исключение. Например, вы выделили ресурс, т...
    Сравнение методов обработки ошибок
    Сравнение методов обработки ошибок Ознакомившись с основами передачи и улавливания исключений, давайте уделим пару минут сравнению различных подходов к обработке ошибок в разных языках программиро...
    Преимущества обработки исключений над применением кодов возврата
    Преимущества обработки исключений над применением кодов возврата При использовании кодов возврата вызываемый метод возвращает код ошибки, и причина ошибки обрабатывается вызывающим методом. Поскол...
    Обработка ошибок в правильном контексте
    Обработка ошибок в правильном контексте Один из основных принципов хорошего программирования — сильная связность (tight cohesion), когда речь идет о назначении методов. Сильно связанными называютс...
    Улучшение читабельности кода
    Улучшение читабельности кода При использовании кода с обработкой исключений программа становится гораздо читабельнее, что напрямую сказывается на снижении затрат на ее сопровождение. Причина таког...
    Передача исключений из конструкторов
    Передача исключений из конструкторов Другое важное преимущество исключений над другими методами обработки ошибок связано с конструкторами. Так как конструктор не может возвращать значения, простог...
    Класс System. Exception
    Класс System. Exception Как вы помните, все исключения должны иметь тип System.Exception (или производный от него). По сути класс System.Exception является базовым для нескольких классов исключени...
    Конструирование объекта Exception
    Конструирование объекта Exception На момент написания этой книги для класса System.Exception существовало четыре различных конструктора: public Exception (); public Exception(String); protected Ex...
    Свойство StackTrace
    Свойство StackTrace Другое полезное свойство класса System.Exception — StackTrace. Оно позволяет определить — в любой точке, где имеется допустимый объект System.Exception, — как выглядит текущий...
    Улавливание множества типов исключений
    Улавливание множества типов исключений В разных ситуациях вам может потребоваться блок try для обнаружения исключений различных типов. Так, о методе может быть известно, что он передает исключения...
    Получение собственных классов Exception
    Получение собственных классов Exception Как я уже говорил, в какой-то момент вам может потребоваться добавить дополнительную информацию или преобразовать исключение, прежде чем передать его пользо...
    Разработка собственного кода с обработкой исключений
    Разработка собственного кода с обработкой исключений Итак, мы рассмотрели базовые концепции применения обработки исключений и семантику передачи и улавливания исключений. Теперь обратимся к не мен...
    Проблемы создания блоков try
    Проблемы создания блоков try Вы знаете, как обнаружить исключение, которое может передать вызываемый метод и что управление передается вверх по стеку вызовов, пока не найдется соответствующий блок...
    Проблемы создания блоков catch
    Проблемы создания блоков catch Единственное, что должно быть в блоке catch, — это код, хотя бы частично обрабатывающий уловленное исключение. Например, можно произвести некоторые действия, возможн...
    Подведем итоги
    Подведем итоги Синтаксис обработки исключений в С# прост и понятен, а реализация обработки исключений в вашем приложении сводится к простой реализации некотррых методов. Основная цель .NET CLR — п...








Начало