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


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



Pdf көрінісі
бет216/466
Дата20.07.2022
өлшемі3,66 Mb.
#37798
түріПрограмма
1   ...   212   213   214   215   216   217   218   219   ...   466
Байланысты:
pavlovskaia-jogargy-dengeili

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


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


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




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

    Басты бет