14.02.2017 Views

. Стиллмен, Дж. Грин - Изучаем 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>м<strong>е</strong>нны<strong>е</strong> р<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 />

снабдив <strong>е</strong><strong>е</strong> прим<strong>е</strong>чани<strong>е</strong>м. Это н<strong>е</strong> так хорошо, как обработка<br />

исключ<strong>е</strong>ния, но лучш<strong>е</strong>, ч<strong>е</strong>м нич<strong>е</strong>го.<br />

Вот вр<strong>е</strong>м<strong>е</strong>нно<strong>е</strong> р<strong>е</strong>ш<strong>е</strong>ни<strong>е</strong> для калькулятора:<br />

-К сожал<strong>е</strong>нию, в р<strong>е</strong>альной жизни «вр<strong>е</strong>м<strong>е</strong>нны<strong>е</strong>»<br />

р<strong>е</strong>ш<strong>е</strong>ния зачастую становятся постоянными.<br />

c l a s s C a lc u la t o r {<br />

p x ib llc v o i d D iv id e ( i n t d iv i d e n d , i n t d i v i s o r ) {<br />

t r y {<br />

t h i s . q u o t i e n t = d iv id e n d / d i v i s o r ;<br />

} c a t c h ( E x c e p tio n e x ) {<br />

u s i n g (S tr e a m W r ite r sw = new S t r e a m W r it e r ( @ " C : \L o g s \e r r o r s .t x t " ) ;<br />

s w .W r it e L in e ( e x .g e t M e s s a g e ( ) ) ;<br />

}<br />

-----------^<br />

Я понял! М ы использу<strong>е</strong>м<br />

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

пом<strong>е</strong>тить пробл<strong>е</strong>мную область.<br />

Пробл<strong>е</strong>ма никуда н<strong>е</strong> исч<strong>е</strong>зла,<br />

но по крайн<strong>е</strong>й м<strong>е</strong>р<strong>е</strong>, стало<br />

Т с и о гд<strong>е</strong> она возникла. Лучш<strong>е</strong><br />

вс<strong>е</strong>го разобраться, поч<strong>е</strong>му<br />

ваш м<strong>е</strong>тод р Ш <strong>е</strong> вызыва<strong>е</strong>т<br />

ся при нул<strong>е</strong>вом знйМ<strong>е</strong>нйт<strong>е</strong>м<br />

м устранить эту возмож<br />

ность.<br />

Обработка исключ<strong>е</strong>ния дал<strong>е</strong>ко н<strong>е</strong> вс<strong>е</strong>гда<br />

означа<strong>е</strong>т УСТРАНЕНИЕ исключ<strong>е</strong>ния.<br />

Возможность аварийной остановки программы<br />

—это плохо. Но н<strong>е</strong>понимани<strong>е</strong> причин такого<br />

пов<strong>е</strong>д<strong>е</strong>ния намного хуж<strong>е</strong>. Поэтому вс<strong>е</strong>гда нужно<br />

обрабатывать ошибки, которы<strong>е</strong> вы мож<strong>е</strong>т<strong>е</strong> пр<strong>е</strong>дсказать,<br />

и записывать в журнал информацию<br />

об ошибках, с которыми вы н<strong>е</strong> ум<strong>е</strong><strong>е</strong>т<strong>е</strong> бороться.<br />

дальш<strong>е</strong> у 485

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

Saved successfully!

Ooh no, something went wrong!