C# для начинающих Пахомов Б. И



Download 8,15 Mb.
Pdf ko'rish
bet128/266
Sana20.04.2022
Hajmi8,15 Mb.
#567200
1   ...   124   125   126   127   128   129   130   131   ...   266
Bog'liq
C# for beginners


Глава 9. Обработка исключительных ситуаций 
199 
* To change this template use Tools | Options | Coding | 
* Edit Standard Headers. */ 
using System; 
namespace app34_exeption 

class Program 

static void Main() 

Console.WriteLine("Ввод строк длиной не более 5 " + 
"символов"); 
int i = (Console.ReadLine().Length); 
try 

if (i > 5) 
// Генерируем исключение 
throw new Exception(); // OverflowException(); 

catch (Exception ex) // OverflowException 

Console.WriteLine("Длина строки более 5 " + 
"символов"); 
Console.WriteLine("Message = {0}", ex.Message); 
Console.WriteLine("Source = {0}", ex.Source); 
Console.WriteLine("StackTrace = {0}", 
ex.StackTrace); 
Console.WriteLine("TargetSite = {0}", 
ex.TargetSite); 
Console.WriteLine("HelpLink = {0}", ex.HelpLink); 

Console.ReadLine(); 



Из рис. 9.2 мы видим, что появилась дополнительная информация по 
возникшему исключению за счет вывода на экран свойств объекта 
Exception

Свойство 
Message
сообщает, какого типа возникло исключение. 
Свойство 
Source
указывает на источник возникновения исключения. 


200 
Часть II. Объектно-ориентированное программирование 
Рис. 9.2. 
Уточнение причин возникновения исключения с помощью членов
класса 
Exception
Свойство 
StackTrace
уточняет источник возникновения исключения: 
дело в том, что при работе программы могли вызываться функции 
"в глубину", данные о каждом вызове которых запоминаются в сте- 
ке программы. Рассматриваемое свойство дает "трассировку" (про-
смотр пути по стеку) стека и в конечном итоге показывает номер 
строки текста той функции, в которой возникло исключение. 
Свойство 
TargetSite
указывает по-крупному источник возникнове-
ния исключения. В нашем случае это 
Main()

Свойство 
HelpLink
позволяет указать конкретный URL-адрес, где 
можно получить более детальную информацию о возникшем исклю-
чении. По умолчанию значение этого свойства — пустая строка. Но 
можно самому задать конкретный адрес. Самый простой способ — 
в блоке 
catch
первой строкой записать 
ex.HelpLink = "URL-адрес";

Можно создать свой класс из класса 
Exception
и в его конструкторе 
добавить нужную инициализацию свойства 
HelpLink

Блок 
finally
Иногда требуется определить участок программы, который будет вы-
полняться после выхода из блока 
try...catch
. Например, исключитель-
ная ситуация возникла в связи с ошибкой, приводящей к преждевремен-
ному возврату из текущего метода. Но в этом методе мог быть открыт 
файл, который нужно закрыть, или же установлено сетевое соединение, 
требующее разрыва. Подобные ситуации нередки в программировании, 
и поэтому для их разрешения в C# предусмотрен удобный способ: вос-
пользоваться блоком 
finally

Использование блока 
finally
гарантирует, что некоторый набор опера-
торов будет выполняться всегда, независимо от того, возникло исклю-
чение (любого типа) или нет. Для того чтобы задать участок программы


Download 8,15 Mb.

Do'stlaringiz bilan baham:
1   ...   124   125   126   127   128   129   130   131   ...   266




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

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish