. Стиллмен, Дж. Грин - Изучаем C#, 2-е издание
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
обработка исключ<strong>е</strong>ний<br />
Когда ж<strong>е</strong>лтая<br />
строка<br />
достига<strong>е</strong>т<br />
точки<br />
останова,<br />
над крас -<br />
ной точкой<br />
на поляк<br />
появля<strong>е</strong>тся<br />
ж<strong>е</strong>лтая<br />
стр<strong>е</strong>лка.<br />
Д т <strong>е</strong> п <strong>е</strong> р о т л а д и м !<br />
. %<br />
Обновит<strong>е</strong> обработчик событий кнопки Random Excuse, вставив туда код с пр<strong>е</strong>дыдущ<strong>е</strong>й<br />
страницы. Пом<strong>е</strong>стит<strong>е</strong> точку останова на п<strong>е</strong>рвую строку м<strong>е</strong>тода и отладьт<strong>е</strong> программу.<br />
© Запустит<strong>е</strong> программу и уб<strong>е</strong>дит<strong>е</strong>сь, что когда программа указыва<strong>е</strong>т на папку с файлами<br />
оправданий, кнопка Random Excuse работа<strong>е</strong>т корр<strong>е</strong>ктно. Программа пр<strong>е</strong>рв<strong>е</strong>тся на заданной<br />
вами точк<strong>е</strong> останова:<br />
■О<br />
-Г7Г<br />
private void randoraEKcuse_Cllck(object sender, EventArgs e)<br />
{<br />
string[] -fileNames = Directory,Ge1:Files(selectedFolder, "*.excuse")j<br />
if (fileNames,Length == в)<br />
}<br />
else<br />
{<br />
try<br />
А<br />
MessageBox.Show("Please specify a folder with excuse files in it”<br />
" N o excuse files found")J<br />
if (CheckChanged() == true)<br />
{<br />
currentExcuse = new Excuse(randoiBj selectedFolder);<br />
}<br />
><br />
catch (SerializationException)<br />
{<br />
currentExcuse - new ExcuseO;<br />
currentExcuse.Description = ""j;<br />
currentExcuse.Results =<br />
currentExcuse.LastUsed = OateTirae.Now;<br />
Hessage0cfx.5hciw(<br />
"Your excuse file was invalid.",<br />
"Unable to open a random excuse");<br />
}<br />
finally<br />
{<br />
UpdateForm(false);<br />
}<br />
^<br />
©<br />
О<br />
Пошагово просмотрит<strong>е</strong> обработчик событий кнопки Random Excuse и уб<strong>е</strong>дит<strong>е</strong>сь, что<br />
она работа<strong>е</strong>т корр<strong>е</strong>ктно. Посл<strong>е</strong> зав<strong>е</strong>рш<strong>е</strong>ния блока t r y долж<strong>е</strong>н произойти п<strong>е</strong>р<strong>е</strong>ход к блоку<br />
f i n a l l y , так как исключ<strong>е</strong>ний н<strong>е</strong> обнаруж<strong>е</strong>но.<br />
Т<strong>е</strong>п<strong>е</strong>рь укажит<strong>е</strong> папку, сод<strong>е</strong>ржащую вс<strong>е</strong>го один д<strong>е</strong>ф<strong>е</strong>ктный файл, и снова щ<strong>е</strong>лкнит<strong>е</strong> на<br />
кнопк<strong>е</strong> Random Excuse. Из блока t r y при обнаруж<strong>е</strong>нии исключ<strong>е</strong>ния управл<strong>е</strong>ни<strong>е</strong> п<strong>е</strong>р<strong>е</strong>йд<strong>е</strong>т<br />
к блоку c a tc h . Посл<strong>е</strong> того как будут просмотр<strong>е</strong>ны вс<strong>е</strong> <strong>е</strong>го оп<strong>е</strong>раторы, начн<strong>е</strong>т выполняться<br />
блок f i n a l l y .<br />
дальш<strong>е</strong> ► 471