Компьютерные книги
Главное меню
Главная Поиск по сайту Добавить материал О нас Карта книг Карта сайта
Реклама
computersbooks.net -> Добавить материал -> Языки программирования -> Ватсон К. -> "С#" -> 77

С# - Ватсон К.

Ватсон К. С# — Лори, 2005 . — 879 c.
ISBN 1-861004-98-2
Скачать (прямая ссылка): vatsonc2005.pdf
Предыдущая << 1 .. 71 72 73 74 75 76 < 77 > 78 79 80 81 82 83 .. 404 >> Следующая


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

Console.WriteLine('Main() try black reached.');

Tf.*S(K> 1 i'v Ii luck rc-ACjvrrt .

I Piireuttfp c гол < “tionq '‘S* r-ч 1 ]rrf

Т№йиКв?0?с:к1|г|<||У10;пц|,> •¦«¦«V hr.I.

Nat throi/ui*? «я vHCCfrtinn.

M.1 iJi-f > bloc It Cfliri t iCiilK—.

.Цл1л<> fin-л s. Jy 111 IS Ilf.I

fliinO IIsv NSaci-. Ifa ached.

13>rfj-T.<r Г -jiE. а ii-ri i "ь l njj ] i-' '> l:. i i J c-rl. tl4'owF4Cflp‘tim><"i'. i>- irPif rl

T I OvSEflii Sill-, t irr'i . tvC iC n,

if и inf > Л"-г*егл] tatcli hjnv.h r-.-.l ¦*.,

Пи J и С's * iJ i--v J ] i,i Mui.k (-¦¦¦¦¦ I-AI-J,

flUiivO L.'y I* J-1-* i. fc" _ рт1 AC jrr il »

1Jii-uii?»¦? iurvT ''iitild *'¦> i.rtJi-.nl.

I jn-йы ?лС lit 3 ** J n til! к 1 !¦ I, i: ¦* с |:•

Tj4'Ouin-| Sv^l.-n | [i.nr^ipFv

ttiiilFi<> :-.L»KCiVi У ¦ u«¦ кt X?.t|ri i'*n c -.icli foEo-ck гглЫ' ¦<.. h*:

"Г^ссуХ of Ivpn Ifyi*. nn, I...!. Of Jl.nii.^l . n.iiL iu.:i ii,i ; iN.-n-i."

ttiinf? Fin-illy ^lucU ir^Acbixli

^¦HIIW Cry II I >?r-V, jrr ,i й Fii' .1 ,

7Ьга!гГи^гр?1оп<“Ис:ь1гd ind-irX'^ enlli'tU

iufi< "nc-ied i.iifSt«:,!> i-iuh I.l-ч! .

Thro mFjic.i= jbt tew ? ,япгт; t p.S nv^r r v±' b Гм-" I- i ¦¦ ¦¦ ?¦* -

T j .i-o ut nco pt ioii< ¦ ¦iittSu :¦•'' '¦> hi л 11 i‘d .

ThrupFsCт j>t bffipC " * n ik"W ,r> re .tg I *<¦ H .

II u'.n- / !> pj Kyite-n. tnriiffscfh^tOf fU'.ri^rtH^c^jK.ii'Pi.

Vlira^F-MtniiL tnf|< Unin-*4,|| 41-.Г.Г- a'-'j .|.,м'ч-.ч1 •:-h f с Pi M*.i i.‘ !-¦ if .. 1 ¦- .

TJvi'Di^EKCDiiitioTii'^iertt’il iii»ti*x,',5 If ts-ivi L L>r ]*]»-?fc ri*!iclv^iH

Пл1л( > tyj biwfth cOftrniii.r -. itniri'O f in-.i2.h>ji bLock ггм>. Ih^iE.

Prozл onу key to continue

U-
Отладка и обработка ошибок

155

Обратите внимание, что номера строк используются в том виде, в каком они появляются в загружаемой версии программы. Если вывод номеров строк отключен, в него можно войти с помощью пункта меню Tools \ Options... и раздела Text Editor \ СИ \ General. Поскольку в вышеприведенный код включены комментарии, вы можете пройти текст, не имея перед собой открытого фай^га.

Запустите приложение в отладочном режиме.

Программа почти мгновенно перейдет в режим останова, при этом стрелка будет находится на 18-й строке. Если вы выберете вкладку Locals окна мониторинга переменных, то увидите, что текущее значение етуре равняется 'попе'. Воспользуйтесь кнопкой Step Into для выполнения строк 18 и 19 и убедитесь в том, что первая строка текста выведена на консоль. Далее используйте кнопку Step Into для того, чтобы войти в функцию ThrowException () на строке 20.

Внутри функции ThrowExceptionо (на строке 43) окно Locals претерпевает определенные изменения. Теперь мы находимся вне области действия переменных еТуре и .»rgs (ПОСКОЛЬКУ ПО ОТНОШеИИЮ к MainO они являются локальными) и вместо них видим аргумент exceptionType, значение которого равняется, естественно, 'попе*. Продолжайте нажимать Step Into, и вы доберетесь до оператора switch, в котором проверяется значение переменной exceptionType и выполняется код, выводящий на экран строку “Not throwing an exception". После того как будет выполнен оператор break на строке 48, МЫ выйдем ИЗ функции ThrowException о и продолжим выполнение функции Maino со строки 21, Поскольку никакой исключительной ситуации не возникло, выполнение блока try будет продолжено.

Далее работа функции продолжается выполнением блока finally. Нажмите Step Into еще несколько раз, чтобы завершить выполнение блока finally и первую итерацию цикла foreach. Когда мы в следующий раз попадаем на строку 20, то вызываем функцию ThrowException о уже с другим параметром — 'simple*.

Продолжайте нажимать Step Into для дальнейшего продвижения по функции ThrowException о, и в конце концов вы доберетесь до строки 51:

throw(new System.Exception)));

В данном случае, для создания исключительной ситуации используем ключевое слово throw. В качестве параметра при нем стоит вновь (new) инициализируемая исключительная ситуация. В данном случае мы используем еще один тип исключительных ситуаций ИЗ пространства имен System — System.Exception.

Выполнение этого оператора с помощью Step Into приводит к переходу в общий блок catch, который начинается со строки 29. Поскольку в предшествующем блоке catch, начинающемся со строки 23, совпадения не обнаружены, то вместо него выполняется данный блок catch. Пошаговое выполнение позволяет пройти по всем операторам этого блока, затем по операторам блока finally и вернуться на очередную итерацию цикла Eoreach, в котором на строке 20 функция ThrowException О вызывается с очередным параметром, На этот раз параметр принимает значение

'i ndex'.

В этом случае функция ThrowException о создает исключительную ситуацию в строке 55:

еТУреа[4] = 'error';

Массив eTypes является глобальным, поэтому возможность доступа к нему существует. Однако в этой строке кода делается попытка обратиться к пятому элементу
Предыдущая << 1 .. 71 72 73 74 75 76 < 77 > 78 79 80 81 82 83 .. 404 >> Следующая
Книги
Web-программирован-
ие
Аппаратное обеспечение Графика Руководство по П.О. Самоучитель Теория программирования Фотошоп Языки программирования
Новые книги
Вирт Н. "Систематическое программирование " (Теория программирования)

Эком "Microsoft Excel 2000 шаг за шагом Русская версия самоучитель " (Самоучитель)

Поляков А.Ю. "Методы и алгоритмы компьютерной графики в примерах Vizual C++" (Графика)

Баяковский Ю.М. "Графическая библиотека Open GL " (Графика)

Валиков А. "Технология " (Языки программирования)
Авторские права © 2013 ComputersBooks. Все права защищены.