14.02.2017 Views

. Стиллмен, Дж. Грин - Изучаем C#, 2-е издание

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

обработка исключ<strong>е</strong>ний<br />

Получ<strong>е</strong>ния информации о пробл<strong>е</strong>м<strong>е</strong><br />

Мы уж<strong>е</strong> н<strong>е</strong>сколько раз повторили, что при появл<strong>е</strong>нии исключ<strong>е</strong>ния .NET<br />

созда<strong>е</strong>т объ<strong>е</strong>кт E x cep tio n . Доступ к н<strong>е</strong>му вы получа<strong>е</strong>т<strong>е</strong> ч<strong>е</strong>р<strong>е</strong>з код блока<br />

c a tc h . Вот как это работа<strong>е</strong>т;<br />

Н<strong>е</strong>кий объ<strong>е</strong>кт выполня<strong>е</strong>т н<strong>е</strong>ки<strong>е</strong> функции, и вдруг н<strong>е</strong>штатная<br />

ситуация приводит к появл<strong>е</strong>нию исключ<strong>е</strong>ния.<br />

Что за <strong>е</strong>рунда<br />

происходит?<br />

О К счастью, срабатыва<strong>е</strong>т блок t r y / c a t c h . Внутри блока c a tc h<br />

исключ<strong>е</strong>нию присваива<strong>е</strong>тся имя ex.<br />

г<br />

i<br />

В<strong>е</strong>ли рядом с объявл<strong>е</strong>ни<strong>е</strong>м<br />

типа исключ<strong>е</strong>ния в блок<strong>е</strong><br />

DoSomethingRisky () ;<br />

__ catch указать имя п<strong>е</strong>р<strong>е</strong>-<br />

------ ------------MCHHOUj эту п<strong>е</strong>р<strong>е</strong>м<strong>е</strong>нную<br />

} можно буд<strong>е</strong>т использоf<br />

catch (RiskyThingException(«^l<br />

вать для доступа к объ -<br />

<strong>е</strong>кту Exception.<br />

}<br />

string message = ex.Message;<br />

MessageBox.Show(message, "Я сильно рисковал!");<br />

e Посл<strong>е</strong> зав<strong>е</strong>рш<strong>е</strong>ния работы блока c a tc h ссылка ex исч<strong>е</strong>за<strong>е</strong>т,<br />

и объ<strong>е</strong>кт отправля<strong>е</strong>тся в мусорную корзину.<br />

message = ex.Message;<br />

дальш<strong>е</strong> > 475

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!