Программалау оқулық Алматы, 012 Қазақстан Республикасы Білім жəне ғылым министрлігінің «Оқулық»


Аластамаларды өңдеудің жалпы механизмі



Pdf көрінісі
бет215/465
Дата23.05.2022
өлшемі3.66 Mb.
#458577
түріПрограмма
1   ...   211   212   213   214   215   216   217   218   ...   465
pavlovskaia-jogargy-dengeili

Аластамаларды өңдеудің жалпы механизмі
Қателік туындауы мүмкін орын бақылаудағы блоктың құрамына кіруі 
тиіс, бақылаудағы блок – бұл алдынан
 try
түйінді сөзі жазылатын құрамдас 
оператор. 


241
Ерекше жағдайларды өңдеу қалайша жүзеге асырылатынын қарастырайық.
□ Аластаманы өңдеу қате туындаған кезден басталады. Қателік пай-
да болған функция аластаманы генерациялайды. Бұл үшін аластаманың 
түрін анықтайтын параметрі бар 
throw
түйінді сөзі қолданылады. Параметр 
тұрақты, айнымалы немесе объект болуы мүмкін жəне ол аластама туралы 
ақпаратты аластама өңдеуішіне жөнелту үшін қолданылады. 
□ Аластамаға сəйкес келетін өңдеуіш ізделіп, оған басқару беріледі.
□ Егер аластаманы өңдеуіш табылмаса, 
terminate 
стандартты функ-
циясы шақырылады, ол, өз кезегінде, ағымдағы процесті апаттық жағдайда 
аяқтайтын 
abort
функциясын шақырады. Процесті аяқтайтын өзіндік функ-
цияны да тағайындауға болады. 
Кітаптың бірінші бөлімінде («Функциялар» бөлімін, 74 б. қараңыз) əрбір 
функцияны шақыру кезінде стекте жергілікті (локалды) айнымалыларды 
жəне шақырушы функцияға қайту адресін сақтауға арналған жады аймағы 
құрылатыны туралы сөз болған. Шақырулар стегі термині шақырылған, бірақ 
əлі жұмысы аяқталмаған функциялар тізбегін білдіреді. Стекті тарқату деп 
жергілікті айнымалыларға бөлінген жадыны босатып, басқаруды шақырушы 
функцияға қайтару процесін айтады. Функция жұмысын аяқтаған кезде, 
стектің табиғи түрде тарқатылуы орындалады. Дəл осы механизм аластамалар-
ды өңдеуде де қолданылады. Сондықтан аластама бар екені белгілі болғаннан 
кейін, программаның орындалуын аластаманы генерациялау нүктесінен ары 
қарай жалғастыру мүмкін емес. Бұл механизм келесі бөлімде толығырақ 
қарастырылады.


Достарыңызбен бөлісу:
1   ...   211   212   213   214   215   216   217   218   ...   465




©dereksiz.org 2024
әкімшілігінің қараңыз

    Басты бет