Учебно-методический комплекс общее количество часов 58 ч. Лекции 28 ч


Использование объектов исключений


Download 2.46 Mb.
bet58/91
Sana19.10.2023
Hajmi2.46 Mb.
#1709453
TuriУчебно-методический комплекс
1   ...   54   55   56   57   58   59   60   61   ...   91
Bog'liq
Язык программирования C#

13.3. Использование объектов исключений

Как и все в языке C# исключения являются объектами со своими полями и методами. Для того, чтобы получить доступ к объекту, сгенерированного исключения, необходимо в круглых скобках после ключевого слова catch и типа исключения необходимо указать имя для объекта исключения.


catch (InvalidCastException ex)


Лист. 3

После этого имя ex можно будет использовать внутри catch блока для доступа к членам класса сгенерированного исключения. Каждый класс исключений может иметь свои специфические члены, но обычно все классы используют только члены, унаследованные от базового класса System.Exception. Полный список его членов можно найти в MSDN.


class Program


{
static void Main(string[] args)
{
object MyObject = null;
try
{
MyObject.ToString();
}
catch (NullReferenceException ex)
{
Console.WriteLine("Использование неинициализированного" +
"объекта!");
Console.WriteLine("Тип исключения: " + ex.GetType());
Console.WriteLine("Описание исключения: " +ex.Message);
Console.WriteLine("Имя приложения, в котором произошло" +
"исключение: " + ex.Source);
Console.WriteLine("Стек вызовов, приведший к исключению: " +
ex.StackTrace);
Console.WriteLine("Метод в котором произошло исключение: " +
ex.TargetSite);
}
}
}
Лист. 4.4

В этом примере объявляется MyObject типа object. Ей присваивается пустое значение null так, чтобы любое последующее обращение к ней приводило к исключительной ситуации System.NullReferenceException. Далее в блоке try мы пытаемся вызвать метод MyObject.ToString(), что естественно приводит к исключению, обрабатываемому в catch блоке. В заголовке catch блока, реагирующего на исключительную ситуацию тип System.NullReferenceException объявлена переменная ex этого типа. В теле блока catch выводится сообщение о произошедшем исключении и часть информации, хранимой в объекте ex.


Вывод программы:

Использование неинициализированного объекта!


Тип исключения: System.NullReferenceException
Описание исключения: Object reference not set to an instance of an object.
Имя приложения, в котором произошло исключение: Base2
Стек вызовов, приведший к исключению: at Base2.Program.Main(String[] args) in
D:\Course\advanced\Глава 4\Source\Base2\Program.cs:line 14
Метод в котором произошло исключение: Void Main(System.String[])
Вывод. 4.3



Download 2.46 Mb.

Do'stlaringiz bilan baham:
1   ...   54   55   56   57   58   59   60   61   ...   91




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling