Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
шпора2 - копия2.docx
Скачиваний:
12
Добавлен:
22.09.2019
Размер:
60.39 Кб
Скачать

12.Обработка исключительных ситуаций в программах на языке с#.

Исключительная ситуация (exception) представляет собой неожиданное событие — ошибку в программе.

Для реализации механизма обработки

исключений в языке С# используются операторы: try (контролировать), catch (ловить), throw (генерировать, порождать, посылать, формировать) и finally.

Синтаксис обработки исключения в общем случае выглядит следующим образом:

try

{

блок команд, в котором может возникнуть ошибка

}

[catch [(тип_исключения имя_исключения)]

{

блок обработки исключения

}]

[finally

{

команды, которые

выполняются в любом случае

}]

Если в блоке try происходит исключение, то идет переход на блок catch и ему это исключение передается в качестве параметра. В любом случае (произошло исключение или нет) в конце вызывается блок команд finally.

Исключения позволяют логически разделить вычислительный процесс на две части – обнаружение аварийной ситуации и ее обработка. Допускается произвольное количество обработчиков catch, разрешается также не использовать finally (но хотя бы один из этих операторов должен быть).

Исключения генерирует либо среда выполнения, либо программист с помощью оператора throw.

Исключения, генерируемые средой определены в пространстве имен System. Все они являются потомками класса Exception.

13.Понятие класса и синтаксис объявления класса в с#. Управление доступом к полям класса. Обращение к полю.

Класс – это модуль, архитектурная единица построения программной системы.

Класс – это сложный тип данных, в котором объединены элементы данных (поля) и методы, обрабатывающие эти данные и выполняющие операции по взаимодействию с оружающей средой.

[спецификатор доступа] [модификатор класса]

class имя_класса [:базовый класс]

{

тело_класса

}

Спецификаторы:

public

Internal (по умолчанию)

Доступ к полям

Каждое поле имеет модификатор доступа, принимающий одно из четырех значений: public, private, protected, internal. Атрибутом доступа по умолчанию является атрибут private. Независимо от значения атрибута доступа, все поля доступны для всех методов класса. Они являются для методов класса глобальной информацией, с которой работают все методы, извлекая из полей нужные им данные и изменяя их значения в ходе работы. Если поля доступны только для методов класса, то они имеют атрибут доступа private, который можно опускать. Такие поля считаются закрытыми, но часто желательно, чтобы некоторые из них были доступны в более широком контексте. Если некоторые поля класса A должны быть доступны для методов класса B, являющегося потомком класса A, то эти поля следует снабдить атрибутом protected. Такие поля называются защищенными. Если некоторые поля должны быть доступны для методов классов B1, B2 и так далее, дружественных по отношению к классу A, то эти поля следует снабдить атрибутом internal, а все дружественные классы B поместить в один проект (assembly). Такие поля называются дружественными. Наконец, если некоторые поля должны быть доступны для методов любого класса B, которому доступен сам класс A, то эти поля следует снабдить атрибутом public. Такие поля называются общедоступными или открытыми.

Обращение к полю

Выполняется с помощью операции доступа (точка). К статическим элементам класса обращаются не через имя экземпляра (объекта), а через имя класса.