Базисные концепции обработки исключений

Базисные концепции обработки исключений

Литература по обработке исключений зачастую не очень точно определяет, что вызывает исключение. Как следствие, механизм исключений, представленный в таких языках программирования как PL/I и Ada, часто неправильно используется: вместо того, чтобы резервироваться только для истинно чрезвычайных ситуаций, они заканчивают службу как внутрипрограммные инструкции goto, нарушающие принцип Защищенности.

К счастью, теория Проектирования по Контракту, введенная в предыдущей лекции, обеспечивает хорошие рамки для точного определения включаемых концепций.

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг:

Резюме: последовательность обработки исключений

Из книги автора

Резюме: последовательность обработки исключений На рис. 4.2 в схематическом виде представлена последовательность событий, происходящих после возникновении исключения. Слева приведен программный код, а обведенные кружками цифры справа обозначают операции, выполняемые


10.2 Концепции TCP

Из книги автора

10.2 Концепции TCP В какой форме приложения должны пересылать данные в TCP? В каком виде TCP передает данные в IP? Каким образом передающий и принимающий протоколы TCP идентифицируют соединение между приложениями и необходимые для его реализации элементы данных? На все эти


Базисные сведения об объектах Dictionary

Из книги автора

Базисные сведения об объектах Dictionary При объявлении переменных для словарей и последующем их создании используйте приемы, описанные выше в разделе "Доступ к объектам других приложений". Например:Dim dictBigCats As Scri pti ng.DictionarySet dictBigCats = CreateObject("Scri pti ng.Dictionary")Теперь можно добавлять


А.1. Концепции

Из книги автора

А.1. Концепции В настоящее время насчитывается более двух тысяч языков программирования высокого уровня. Большинство этих языков возникло исходя из конкретных требований некоторой предметной области. Каждый новый язык позволял переходить ко все более и более сложным


Роль обработки исключений в .NET

Из книги автора

Роль обработки исключений в .NET До появления .NET обработка ошибок в операционной системе Windows представляла собой весьма запутанную смесь технологий. Многие программисты создавали свою собственную логику обработки ошибок, используемую в контексте приложения. Например,


Атомы обработки исключений в .NET

Из книги автора

Атомы обработки исключений в .NET При создании программ с применением структурированной обработки исключений предполагается использовать следующие четыре взаимосвязанных элемента:• тип класса, который предоставляет подробную информацию о возникшей исключительной


Последний глобальный шанс для обработки исключений

Из книги автора

Последний глобальный шанс для обработки исключений Позвольте указать на роль обработчика событий Application_Error(). Напомним, что страница может использовать обработчик события Error для обработки любого исключения, сгенерированного в контексте страницы и оставшегося без


5.5.1. Концепции сокетов

Из книги автора

5.5.1. Концепции сокетов При создании сокета необходимо задать три параметра, тип взаимодействия, пространство имен и протокол.Тип взаимодействия определяет способ интерпретации передаваемых данных и число абонентов. Данные, посылаемые через сокет, формируются в блоки,


Ключевые концепции

Из книги автора

Ключевые концепции [x]. Вычисление включает три вида ингредиентов: процессоры (или потоки управления), действия (или функции) и данные (или объекты). [x]. Архитектуру системы можно получить исходя из функций или из типов объектов. [x]. Описание, основанное на типах объектов, с


Ключевые концепции

Из книги автора

Ключевые концепции [x]. Существует три основных режима создания объектов: статический, основанный на стеке, динамический. Последний характерен для ОО-языков, но встречается везде, например, в Lisp, Pascal (указатели и new), C (malloc), Ada (типы доступа).[x]. В программах, создающих много


Ключевые концепции

Из книги автора

Ключевые концепции [x]. Классы могут иметь формальные родовые параметры, представляющие типы.[x]. Родовые классы служат для описания общих контейнерных структур данных, реализуемых одинаково, независимо от элементов, которые они содержат.[x]. Универсализация требуется


Базисные механизмы надежности

Из книги автора

Базисные механизмы надежности Необходимость уделить больше внимания семантическим свойствам классов становится особенно очевидной, если вспомнить что класс - это реализация АТД. Рассматриваемые до сих пор классы состояли из атрибутов и программ, реализующих функции


Ключевые концепции

Из книги автора

Ключевые концепции [x]. Утверждения - это булевы выражения, задающие семантические свойства класса и вводящие аксиомы и предусловия соответствующего абстрактного типа данных.[x]. Утверждения используются в предусловиях (требования, при выполнении которых программы


Принципы обработки исключений

Из книги автора

Принципы обработки исключений Контрпримеры помогли указать дорогу к дисциплинированному использованию исключений. Следующие принципы послужат основой обсуждения.Принципы дисциплинированной обработки исключенийЕсть только два легитимных отклика на исключение,


Примеры обработки исключений

Из книги автора

Примеры обработки исключений Теперь, когда у нас есть базисный механизм, давайте посмотрим, как он применяется в общих