Программалау технологиясы



Pdf көрінісі
бет65/136
Дата08.02.2022
өлшемі2,48 Mb.
#121875
түріПрограмма
1   ...   61   62   63   64   65   66   67   68   ...   136
Байланысты:
Мукашев С Builder

8 - зертханалық жұмыс.
Ерекше жағдайларды ӛңдеу түсінігі. Ерекше жағдайлар класы 
 
Әдістемелік нұсқаулар 
Ерекше жағдайлар түсінігі қосымшаның орындалуы кезіндегі пайда болатын 
қателермен байланысты қарастырылады. Программист ӛзінің құрған қосымшасы орындалған 
кезде болуы мүмкін қателерді анықтап, ол қателер бола қалған жағдайда программа қалай 
жұмыс жасауы керек екенін алдын-ала қамтамасыз етуі тиіс. Жалпы программалау кезінде 
жіберілетін қателерді келесі топтарға бӛледі: 

Синтаксистік қателер. Синтаксистік қателерге программа мәтінін теру кезінде 
операторлардың қате жазылуы, операторларды айыру белгілерінің қойылмауы, 
программа соңының кӛрсетілмеуі және т.б. жатады.
 

Логикалық қателер, есеп алгоритмінің дұрыс құрылмауынан болады.

Динамикалық қателер бұл- программаның орындалуы кезінде пайда болып оның 
орындалу тәртібінің бұзылуына немесе нәтижесіз тоқтап қалуына әкеліп соқтыратын 
қателер.
Ерекше жағдайлар класы.
 
C++ Builder ортасындағы ерекше жағдайлардың барлығы 
жеке объектілер ретінде қарастырылады және бұл объектілер үшін базалық класс 
TObject
-
ден тарайтын
TException
класы болады, программада бұл класстың сипаттамасы 
SysUtils
стандарт модулінде беріледі.
Қасиеттері.
TException
класынан тарайтын жоғарыда аталған тума кластар үшін
анықталған қасиеттер: 
 
Message
қасиеті (типі 
AnsiString)
ерекше жағдайдың немесе қатенің сипаттамасын 
сұхбат терезіне шығару үшін қолданылады. 
__property AnsiString Message = {read=FMessage, write=FMessage}; 
HelpContext
қасиеті ( типі 
THelpContext
) анықтама жүйесіндегі объект түрінде 
анықталған қатеге сәйкес бӛлімнің номерін немесе идентификатор номерін кӛрсету үшін 
қолданылады. 
__property int HelpContext = {read 
=FHelpContext, write=FHelpContext, nodefault}; 
Ерекше жағдайларды ӛңдеу

Қосымшаларда ерекше жағдайларды ӛңдеу екі түрлі 
жолмен жүзеге асырылады: ерекше жағдайларды 
жалпы ӛңдеуші
/глобальный обработчик/ 
және 
дербес ӛңдеуші
/локальный обработчик/. Қосымшадағы ерекше жағдайларды жалпы 
ӛңдеушінің жұмысын қамтамасыз ету 
Application
объектісінің қызметіне жатады, 
Application
объектісі жүйе тарапынан ерекше жағдайдың пайда болғаны жӛнінде хабар алысымен 


TExceptionEvent
типіне жататын 
OnException
оқиғасын генерациялайды да, осы пайда 
болған оқиғаның ӛңдеушісі, қосымшадағы ерекше жағдайларды жалпы ӛңдеушінің қызметін 
атқарады. Әдетте қосымшалардағы ерекше жағдайларды жалпы ӛңдеуші бұл-
Application
объектісінің әдісі болып есептелетін
HandleException(System::TObject* Sender);
функциясы. 
Бұл функция арқылы шақырылатын қосымшаның 
ShowException(System::TObject* 
ExceptObject, void * ExceptAddr); 
әдісі, пайда болған ерекше жағдайдың сипаттамасын 
экранға, сұхбат терезесіне шығарады, мысалы қосымшаның орындалуы кезінде «нольге 
бӛлу немесе бӛлшектің бӛлімі нольге тең» болған ерекше жағдайларда жалпы ӛңдеуші бұл 
жӛнінде қолданушыға хабарлайды /4.13- сурет/. 
4.13-сурет. Ерекше жағдайды жалпы 
ӛңдеуші қызметінің мысалы 
Программада дербес ӛңдеушіні қолданудың жолдары: 

try ... catch

блогында ерекше жағдайды ӛңдеу; 

try ... __finally
блогын пайдаланып кодты «мусордан» тазалау. 
try ... сatch операторы
.
 
Ерекше жағдайларды ӛңдеуде программисттің дербес 
ӛңдеушілерді қолдануы үшін
try ... сatch 
операторы пайдаланылады. 
Жалпы жазылуы: 


Достарыңызбен бөлісу:
1   ...   61   62   63   64   65   66   67   68   ...   136




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

    Басты бет