Скачиваний:
19
Добавлен:
01.05.2014
Размер:
21.1 Кб
Скачать
я22.6. €бЄ«о祭Ёп

я_я11. ‘ ¬ п ®Ўй п е а ЄвҐаЁбвЁЄ  ЁбЄ«о祭Ё©

€бЄ«о祭Ёп ®в­ҐбҐ­л ­ ¬Ё Є  бЁ­еа®­­л¬ ¬Ґв®¤ ¬ § ¬Ґ­л
Є®­вҐЄбв , в.Є. ­ҐЁ§ўҐб⥭ ¬®¬Ґ­в ў®§­ЁЄ­®ўҐ­Ёп ЁбЄ«о祭Ёп.
ќв® бў®©бвў® бЎ«Ё¦ Ґв ЁбЄ«о祭Ёп б ЇаҐалў ­Ёп¬Ё.
ђ §«ЁзЁҐ б®бв®Ёв ў ⮬, зв® ЇаҐалў ­ЁҐ ўл§лў Ґвбп ў­Ґи­Ґ©
ЇаЁзЁ­®© - нв® бЁЈ­ « ®в ў­Ґи­Ґ© б।л,   ЁбЄ«о祭ЁҐ - нв®
ў­гв७­пп ЇаЁзЁ­  ᬥ­л Є®­вҐЄбв , бўп§ ­­ п б 室®¬ ўлЇ®«­Ґ­Ёп
Ё­бвагЄжЁ© Їа®Ја ¬¬л.

Џ®¤ ЁбЄ«о祭ЁҐ¬ Ї®­Ё¬ ов бЁЈ­ « ®Ў ®вЄ«®­Ґ­ЁЁ ў ўлЇ®«­Ґ­ЁЁ
Ё­бвагЄжЁЁ. ЏаЁзЁ­ ¬Ё ЁбЄ«о祭Ё© ¬®Јгв Ўлвм б«Ґ¤гойЁҐ:
- ­ҐЇа ўЁ«м­лҐ ¤ ­­лҐ (­ ЇаЁ¬Ґа, ¤Ґ«Ґ­ЁҐ ­  ­®«м);
- Ї®ЇлвЄ  ўлЇ®«­Ґ­Ёп Ё­бвагЄжЁЁ, ­Ґ ᮮ⢥вбвўго饩 га®ў­о
§ йЁвл;
- ­ҐўлЇ®«­пҐ¬ п Ё­бвагЄжЁп (­ ЇаЁ¬Ґа,  ¤аҐб ў­Ґ Ї ¬пвЁ).

ЏаЁ Ї®пў«Ґ­ЁЁ ЁбЄ«о祭Ёп Їа®жҐбб®а ўл¤ Ґв бЁЈ­ « ЇаҐалў ­Ёп
б ­®¬Ґа®¬, ᮮ⢥вбвўгойЁ¬ ­®¬Ґаг ЇаЁзЁ­л ЁбЄ«о祭Ёп. ’.Ґ.
ЁбЄ«о祭Ёп ®Ўа Ў влў овбп Є Є ЇаҐалў ­Ёп,   Ё¬Ґ­­®, Ї® ­®¬Ґаг
ЁбЄ«о祭Ёп Їа®жҐбб®а ®Ўа й Ґвбп Є в Ў«ЁжҐ ЇаҐалў ­Ё© Ё зҐаҐ§ ­ҐҐ
­ е®¤Ёв Їа®жҐ¤гаг - ®Ўа Ў®взЁЄ ЁбЄ«о祭Ёп. Ћв«ЁзЁҐ ЁбЄ«о祭Ё© ®в
ЇаҐалў ­Ё© б®бв®Ёв ў ⮬, зв® Ї®б«Ґ ўлЇ®«­Ґ­Ёп ®Ўа Ў®взЁЄ 
ЁбЄ«о祭Ёп гЇа ў«Ґ­ЁҐ, Є Є Їа ўЁ«®, ­Ґ ў®§ўа й Ґвбп ў в®зЄг
ў®§Ўг¦¤Ґ­Ёп ЁбЄ«о祭Ёп.

ЊҐе ­Ё§¬ ЁбЄ«о祭Ё© Ёб室­® бгйҐбвўгҐв ­  га®ў­Ґ  аеЁвҐЄвгал
Їа®жҐбб®а  Ё ¤ «ҐҐ а §ўЁв ¤«п Їа®Ја ¬¬­ле б। п§лЄ®ў ўлб®Є®Ј®
га®ў­п. ђ бᬮваЁ¬ б­ з «  ЁбЄ«о祭Ёп ­  ­Ё§Є®¬ га®ў­Ґ.

я_я12. €бЄ«о祭Ёп ­  ­Ё§Є®¬ га®ў­Ґ

€бЄ«о祭Ёп ­  ­Ё§Є®¬ га®ў­Ґ а бᬮваЁ¬ ­  ЇаЁ¬ҐаҐ
 аеЁвҐЄвгал 386 Їа®жҐбб®а . ЂаеЁвҐЄвга­® бгйҐбвўгҐв ап¤ ®иЁЎ®з­ле
бЁвг жЁ©, ў Є®в®але Їа®жҐбб®а ў®§Ўг¦¤ Ґв ЇаҐалў ­Ёп,
Ё­вҐаЇаҐвЁагҐ¬лҐ Є Є ЁбЄ«о祭Ёп. ЌЁ¦Ґ ЇаЁўҐ¤Ґ­ ЇҐаҐзҐ­м нвЁе
бЁвг жЁ©:

Ќ®¬Ґа ЁбЄ«о祭Ёп ЏаЁзЁ­ 
0 ЋиЁЎЄ  ¤Ґ«Ґ­Ёп
1 Џ®и Ј®ў®Ґ ЇаҐалў ­ЁҐ ЇаЁ ®в« ¤ЄҐ
2 ЌҐ¬ бЄЁа㥬®Ґ ЇаҐалў ­ЁҐ
3 Ћбв ­®ў ЇаЁ ®в« ¤ЄҐ
4 ЏҐаҐЇ®«­Ґ­ЁҐ
5 ‚л室 §  Ја ­Ёжл ¬ ббЁў 
6 ЌҐ¤®ЇгбвЁ¬л© Є®¤ ®ЇҐа жЁЁ
7 ЋвбгвбвўЁҐ б®Їа®жҐбб®а 
8 „ў®©­ п ®иЁЎЄ 
9 ЏаҐўл襭ЁҐ ᥣ¬Ґ­в  б®Їа®жҐбб®а®¬
10 ЌҐўҐа­л© ᥣ¬Ґ­в б®бв®п­Ёп § ¤ зЁ
11 ‘ҐЈ¬Ґ­в ®вбгвбвўгҐв
12 ЋиЁЎЄ  б⥪ 
13 ЋЎй п ®иЁЎЄ  § йЁвл
14 ‘ва ­Ёз­ п ®иЁЎЄ 
15 ђҐ§Ґаў
16 ЋиЁЎЄ  б®Їа®жҐбб®а 

ЋЇҐа жЁ®­­ п б।  ЎҐаҐв ­  бҐЎп ®Ўа Ў®вЄг ЁбЄ«о祭Ё©. …б«Ё
нв® ®иЁЎЄ  Їа®Ја ¬¬л, ­ ЇаЁ¬Ґа, ¤Ґ«Ґ­ЁҐ ­  ­®«м, в® Їа®Ја ¬¬ 
 ў аЁ©­® § ўҐаи Ґвбп. ‚ ­ҐЄ®в®але б«гз пе, Є®Ј¤  ў®§¬®¦­®
ЁбЇа ў«Ґ­ЁҐ ®иЁЎЄЁ, Ї®б«Ґ ҐҐ ЁбЇа ў«Ґ­Ёп Їа®Ја ¬¬  Їа®¤®«¦ Ґв
ўлЇ®«­пвмбп. ’ЁЇЁз­л¬ ЇаЁ¬Ґа®¬ пў«пҐвбп ЁбЄ«о祭ЁҐ 11 Ї®
®вбгвбвўЁо ᥣ¬Ґ­в . ‚ н⮬ б«гз Ґ ®вбгвбвўгойЁ© ᥣ¬Ґ­в ЁйҐвбп
­  ¤ЁбЄҐ, § Јаг¦ Ґвбп ў Ї ¬пвм Ё Їа®Ја ¬¬  Їа®¤®«¦ Ґв а Ў®вг.

‚ б«гз Ґ ў®§­ЁЄ­®ўҐ­Ёп ®иЁЎЄЁ, ­Ґ ЇаҐ¤гᬮв७­®©
ЁбЄ«о祭Ёп¬Ё 0 - 12 Ё 14 - 16, ў®§­ЁЄ Ґв ЁбЄ«о祭ЁҐ 13 - ®Ўй п
®иЁЎЄ  § йЁвл. ќв® ЇҐз «м­® Ё§ўҐбв­ п General protection fault,
з бв® ў®§­ЁЄ ой п ў Їа®Ја ¬¬ е Ї®¤ Windows. ‚­Ґи­ЁҐ ЇаЁзЁ­л нв®©
®иЁЎЄЁ ¬®Јгв Ўлвм б ¬л¬Ё а §­®®Ўа §­л¬Ё. ЌЁ¦Ґ ЇаЁўҐ¤Ґ­ ЇҐаҐзҐ­м
вЁЇЁз­ле ЇаЁзЁ­ ў®§­ЁЄ­®ўҐ­Ёп нв®Ј® ЁбЄ«о祭Ёп:

1) ЇҐаҐ¤ з  гЇа ў«Ґ­Ёп ­ҐЁбЇ®«­пҐ¬®¬г ᥣ¬Ґ­вг;
2) § Јаг§Є  ॣЁбва  SS ᥫҐЄв®а®¬ ЁбЇ®«­пҐ¬®Ј® ᥣ¬Ґ­в  Ё«Ё
ᥣ¬Ґ­в  ЎҐ§ а §аҐиҐ­Ёп § ЇЁбЁ:
3) § Јаг§Є  SS, DS, ES, FS, GS ᥫҐЄв®а®¬ бЁб⥬­®Ј®
ᥣ¬Ґ­в ;
4) § Јаг§Є  DS, ES, FS, GS ᥫҐЄв®а®¬ ЁбЇ®«­пҐ¬®Ј® ᥣ¬Ґ­в ,
Є®в®ал© ­Ґ пў«пҐвбп зЁв Ґ¬л¬;
5) ЇҐаҐ¤ з  гЇа ў«Ґ­Ёп б ­ аг襭ЁҐ¬ Їа ўЁ« ЇаЁўЁ«ҐЈЁ©;
6) § Јаг§Є  CS, SS, DS, ES, FS, GS ᥫҐЄв®а®¬, гЄ §лў ойЁ¬
­  «®Є «м­го в Ў«Ёжг ¤ҐбЄаЁЇв®а®ў, Є®Ј¤  нв  в Ў«Ёж  ­Ґ
®ЇаҐ¤Ґ«Ґ­ ;
7) § Јаг§Є  SS ­г«Ґўл¬ ᥫҐЄв®а®¬;
8) ЇаҐўл襭ЁҐ ЇаҐ¤Ґ«  ᥣ¬Ґ­в ;
9) ЇаҐўл襭ЁҐ ЇаҐ¤Ґ«  в Ў«Ёжл;
10) Ї®ЇлвЄ  § ЇЁбЁ ў ᥣ¬Ґ­в, а §аҐиҐ­­л© в®«мЄ® ¤«п з⥭Ёп;
11) Ї®ЇлвЄ  з⥭Ёп ЎҐ§ а §аҐиҐ­Ёп Ё§ ЁбЇ®«­пҐ¬®Ј® ᥣ¬Ґ­в ;
12) Ї®ЇлвЄ  ¤®бвгЇ  Є Ї ¬пвЁ, Є®Ј¤  ЁбЇ®«м§гҐ¬л© ᥣ¬Ґ­в­л©
ॣЁбва ᮤҐа¦Ёв ­г«м-ᥫҐЄв®а;
13) Ї®ЇлвЄ  гбв ­®ўЁвм бва ­Ёз­л© ¬Ґе ­Ё§¬ ў ॠ«м­®¬ ०Ё¬Ґ;
14) ­ҐЇа ўЁ«м­ п ®Ўа Ў®вЄ  ЇаҐалў ­Ёп ў ०Ё¬Ґ V86;
15) ЇаҐўл襭ЁҐ ¬ ЄбЁ¬ «м­®© ¤«Ё­л Є®¬ ­¤л.

Џ®б«Ґ в ЄЁе ®иЁЎ®Є Їа®Ја ¬¬   ў аЁ©­® § ўҐаи Ґв бў®о а Ў®вг.

€­®Ј¤ , ®б®ЎҐ­­® ў Ё­вҐа ЄвЁў­ле Їа®Ја ¬¬ е, Ґбвм
ў®§¬®¦­®бвм ЁбЇа ўЁвм ®иЁЎЄг Ё ўҐа­гвмбп Є Ї®ўв®аҐ­Ёо ¤Ґ©бвўЁп,
­ ЇаЁ¬Ґа, ЇаЁ ¤Ґ«Ґ­ЁЁ ­  ­®«м ¬®¦Ґв Ўлвм Ґбвм ў®§¬®¦­®бвм
Ё§¬Ґ­Ёвм ¤Ґ«ЁвҐ«м. ‚ н⮬ б«гз Ґ ­ҐжҐ«Ґб®®Ўа §­®  ў аЁ©­®
§ ўҐаи вм а Ў®вг Їа®Ја ¬¬л. Ќ «ЁзЁҐ Ї®¤®Ў­ле бЁвг жЁ© пў«пҐвбп
ЇҐаў®© ЇаЁзЁ­®© Ї®пў«Ґ­Ёп Їа®Ја ¬¬­ле б।бвў ®Ўа Ў®вЄЁ
ЁбЄ«о祭Ё©.
‚в®а®© ЇаЁзЁ­®© Ї®пў«Ґ­Ёп Їа®Ја ¬¬­ле б।бвў ®Ўа Ў®вЄЁ
ЁбЄ«о祭Ё© пў«пҐвбп бв६«Ґ­ЁҐ Ї®ўлбЁвм ­ Ј«п¤­®бвм Їа®Ја ¬¬л,
в.Ґ. ЁбЄ«о祭Ёп а бб¬ ваЁў овбп Є Є ®¤­® Ё§ б।бвў
бвагЄвгаЁ§ жЁЁ Їа®Ја ¬¬­®Ј® ®ЎҐбЇҐзҐ­Ёп.
ЌЁ¦Ґ а бᬮваЁ¬ Їа®Ја ¬¬­лҐ б।бвў  ®Ўа Ў®вЄЁ
ЁбЄ«озЁвҐ«м­ле бЁвг жЁ©.

я_я13. €бЄ«о祭Ёп ў Їа®Ја ¬¬­ле б। е

‚ ¦­® ®в¬ҐвЁвм, зв® аҐзм ¤ «ҐҐ Ї®©¤Ґв в®«мЄ® ® вҐе
ЁбЄ«озЁвҐ«м­ле бЁвг жЁпе, Є®в®алҐ Їа®Ја ¬¬Ёбв §­ Ґв, Є Є
ЁбЇа ўЁвм. …б«Ё Їа®Ја ¬¬Ёбв ­Ґ §­ Ґв, Є Є ЁбЇа ўЁвм
ЁбЄ«озЁвҐ«м­го бЁвг жЁо (нв® Є Є Їа ўЁ«®, ®в­®бЁвбп Є ЁбЄ«о祭Ёп¬
вЁЇ  GPF Ё Є® ўбҐ¬ ЁбЄ«о祭Ёп¬ ­Ё§Є®Ј® га®ў­п, Єа®¬Ґ ¤Ґ«Ґ­Ёп ­ 
­®«м), в® ®Ўа Ў®вЄг нв®Ј® ЁбЄ«о祭Ёп ­Ґ®Ўе®¤Ё¬® ®бв ўЁвм бЁб⥬Ґ.
Ља®¬Ґ в®Ј®, аҐзм §¤Ґбм Ї®©¤Ґв ® ­®ў®© (®в­®бЁвҐ«м­®)
Є®­жҐЇжЁЁ ®Ўа Ў®вЄЁ зЁбв® Їа®Ја ¬¬­ле ®иЁЎ®Є - ®Ўа Ў®вЄҐ ­ 
га®ў­Ґ ЁбЄ«о祭Ё©, Є®Ј¤  ® ­ «ЁзЁЁ ®иЁЎЄЁ Їа®Ја ¬¬  бЁЈ­ «Ё§ЁагҐв
ЁбЄ«озЁвҐ«м­®© бЁвг жЁҐ©, зв® Ї®ўли Ґв ­ Ј«п¤­®бвм Ё
бвагЄвгаЁа®ў ­­®бвм Їа®Ја ¬¬л.

„«п в®Ј® зв®Ўл Їа®Ја ¬¬  ¬®Ј«  ᮧ¤ ў вм ЁбЄ«озЁвҐ«м­лҐ
бЁвг жЁЁ Ё 㬥вм Ёе ®Ўа Ў влў вм бЁб⥬  Їа®Ја ¬¬Ёа®ў ­Ёп ¤®«¦­ 
®Ў« ¤ вм бЇҐжЁ «м­л¬Ё б।бвў ¬Ё, ® Є®в®але аҐзм Ї®©¤Ґв ­Ё¦Ґ.
’ ЄЁ¬Ё б।бвў ¬Ё ®Ў« ¤ ов п§лЄЁ Ђ¤ , Њ®¤г« -2, ‘Ё++ Ё ⥯Ґам
®Ў« ¤ Ґв ­®ў п ўҐабЁп Џ бЄ «п - „Ґ«мдЁ.

„ ¤Ё¬ ®Ўйго е а ЄвҐаЁбвЁЄг ЁбЄ«о祭Ё© б в®зЄЁ §аҐ­Ёп п§лЄ 
ўлб®Є®Ј® га®ў­п.
ЏаЁ ў®§­ЁЄ­®ўҐ­ЁЁ ЁбЄ«о祭Ёп ­®а¬ «м­®Ґ ўлЇ®«­Ґ­ЁҐ Їа®Ја ¬¬л
ЇаҐЄа й Ґвбп Ё Ё­ЁжЁЁагҐвбп а Ў®в  ®Ўа Ў®взЁЄ  ЁбЄ«о祭Ёп. Џ®б«Ґ
§ ўҐа襭Ёп ®Ўа Ў®вЄЁ ЁбЄ«о祭Ёп ўлЇ®«­Ґ­ЁҐ Їа®Ја ¬¬л ­Ґ
ў®§®Ў­®ў«пҐвбп ў в®зЄҐ ў®§­ЁЄ­®ўҐ­Ёп ЁбЄ«о祭Ёп. Џа®жҐбб
гбв ­®ў«Ґ­Ёп бўп§Ё ¬Ґ¦¤г Є®­ЄаҐв­®© ®иЁЎ®з­®© бЁвг жЁҐ© Ё
ᮮ⢥вбвўгойЁ¬ ®Ўа Ў®взЁЄ®¬ ­ §лў Ґвбп ў®§Ўг¦¤Ґ­ЁҐ¬ ЁбЄ«о祭Ёп.
ЏаЁ ў®§Ўг¦¤Ґ­ЁЁ ®ЇҐа в®ал, ®ЇЁб ­­лҐ ў ®Ўа Ў®взЁЄҐ, ўлЇ®«­повбп.
‘ ¬ ®Ўа Ў®взЁЄ ЁбЄ«о祭Ё© Ї®¬Ґй Ґвбп ў Є®­жҐ Ў«®Є  Їа®Ја ¬¬л.
…б«Ё ў ¤ ­­®¬ Ў«®ЄҐ ­Ґ ®ЇЁб ­ ®Ўа Ў®взЁЄ ЁбЄ«озЁвҐ«м­®© бЁвг жЁЁ,
в® ®Ўа Ў®вЄ  ЁбЄ«о祭Ёп ЇҐаҐ¤ Ґвбп ў Ў«®Є, ў­Ґи­Ё© Ї® ®в­®иҐ­Ёо Є
⮬㠡«®Єг, ў Є®в®а®¬ ў®§Ўг¦¤Ґ­® ЁбЄ«о祭ЁҐ, Ё в.¤. ’ Є п
ЇҐаҐ¤ з  ЁбЄ«о祭Ёп ­ §лў Ґвбп а бЇа®бва ­Ґ­ЁҐ¬ ЁбЄ«о祭Ёп. …б«Ё
Ё ў б ¬®¬ ў­Ґи­Ґ¬ Ў«®ЄҐ Їа®Ја ¬¬л ®вбгвбвўгҐв ®Ўа Ў®взЁЄ, в®
®Ўа Ў®вЄ  ЁбЄ«о祭Ёп ЇҐаҐ¤ Ґвбп б।Ґ Ё ўлЇ®«­Ґ­ЁҐ Їа®Ја ¬¬л ў
н⮬ б«гз Ґ  ў аЁ©­® § ўҐаи Ґвбп.

’а ¤ЁжЁ®­­® ¤«п Їа®ўҐаЄЁ ­ «ЁзЁп ®иЁЎ®з­®© бЁвг жЁЁ
ЁбЇ®«м§говбп пў­лҐ Їа®ўҐаЄЁ, Є®в®алҐ § Ја®¬®¦¤ ов Їа®Ја ¬¬г.
ЏаЁўҐ¤Ґ¬ ЇаЁ¬Ґа а Ў®вл б д ©«®¬ ў Џ бЄ «Ґ. Џ®б«Ґ¤®ў вҐ«м­®бвм
а Ў®вл б д ©«®¬ ўлЈ«п¤Ёв б«Ґ¤гойЁ¬ ®Ўа §®¬:

Procedure FileWork;
Begin
ЋвЄалвм д ©«;
Џа®зЁв вм ¤ ­­лҐ Ё§ д ©« ;
‡ ЇЁб вм ¤ ­­лҐ ў д ©«;
‡ Єалвм д ©«;
End {FileWork};

Ќ  Є ¦¤®¬ и ЈҐ ¬®¦Ґв ў®§­ЁЄ­гвм ®иЁЎЄ  ўў®¤ -ўлў®¤ ,
ЇаЁў®¤пй п Є  ў аЁ©­®¬г § ўҐа襭Ёо Їа®Ја ¬¬л. Ќ ЇаЁ¬Ґа, д ©«
®вбгвбвўгҐв Ё«Ё зЁв Ґ¬ ¤ ­­лҐ §  Є®­ж®¬ д ©« .
—в®Ўл Їа®Ја ¬¬  ­Ґ § ўҐаи « бм  ў аЁ©­®, ­ ¤® ®вЄ«озЁвм
Їа®ўҐаЄг Їа ўЁ«м­®бвЁ ўлЇ®«­Ґ­Ёп ®ЇҐа жЁ© ўў®¤ -ўлў®¤  б।®©
Џ бЄ «п (Є«оз Є®¬ЇЁ«пв®а  {$I-}) Ё Ї®б«Ґ Є ¦¤®© ®ЇҐа жЁЁ
Їа®ўҐапвм §­ зҐ­ЁҐ ЇҐаҐ¬Ґ­­®© IOResult. ’® Ґбвм ®д®а¬«пвм
Їа®Ја ¬¬г б«Ґ¤гойЁ¬ ®Ўа §®¬:

Procedure FileWork;
Begin
ЋвЄалвм д ©«;
If IOResult <> 0 Then Begin
Writeln('Error!');
Exit;
End {If};
Џа®зЁв вм ¤ ­­лҐ Ё§ д ©« ;
If IOResult <> 0 Then Begin
Writeln('Error!');
Exit;
End {If};
‡ ЇЁб вм ¤ ­­лҐ ў д ©«;
If IOResult <> 0 Then Begin
Writeln('Error!');
Exit;
End {If};
‡ Єалвм д ©«;
If IOResult <> 0 Then Begin
Writeln('Error!');
Exit;
End {If};
End {FileWork};

Џ®б«Ґ Є ¦¤®© ®ЇҐа жЁЁ ўў®¤ -ўлў®¤  ­Ґ®Ўе®¤Ё¬® ¤Ґ« вм пў­лҐ
Їа®ўҐаЄЁ. …б«Ё в ЄЁе ®ЇҐа жЁ© ¬­®Ј®, в® Ја®¬®§¤Є®бвм Їа®Ја ¬¬л
бв ­®ўЁвбп ®зҐўЁ¤­®© Ё ­ Ј«п¤­®бвм १Є® б­Ё¦Ґ­ .

ЋЎа Ў®взЁЄ ЁбЄ«о祭Ё© Ї®§ў®«пҐв ®в¤Ґ«Ёвм ®ЇҐа в®ал а Ў®вл б
д ©«®¬ ®в ®ЇҐа в®а®ў Їа®ўҐаЄЁ ®иЁЎ®з­®© бЁвг жЁЁ Ё бЄ®¬Ї®­®ў вм
Їа®ўҐаЄЁ ў ®в¤Ґ«м­®© з бвЁ Їа®Ја ¬¬л, ­Ґ ЇҐаҐ¬Ґ¦ п Ёе б
®ЇҐа в®а ¬Ё, ў Є®в®але ¬®Јгв ў®§­ЁЄ вм ®иЁЎЄЁ. ‚ ®ЎйҐ¬ ўЁ¤Ґ нв®
Ўг¤Ґв ўлЈ«п¤Ґвм ¤«п ­ иҐЈ® ЇаЁ¬Ґа  б«Ґ¤гойЁ¬ ®Ўа §®¬:

Procedure FileWork;
Begin
ЋвЄалвм д ©«;
Џа®зЁв вм ¤ ­­лҐ Ё§ д ©« ;
‡ ЇЁб вм ¤ ­­лҐ ў д ©«;
‡ Єалвм д ©«;
Exception :
ЋЇҐа в®ал ®Ўа Ў®вЄЁ ЁбЄ«о祭Ёп, ­ ЇаЁ¬Ґа,
б®®ЎйҐ­ЁҐ Ї®«м§®ў вҐ«о ®Ў ®иЁЎЄҐ;
End {FileWork};

‚ЇҐаўлҐ Ї®¤®Ў­л© бЇ®б®Ў ®Ўа Ў®вЄЁ ®иЁЎ®з­ле бЁвг жЁ© Ўл«
ЇаҐ¤«®¦Ґ­ ў п§лЄҐ ўлб®Є®Ј® га®ў­п Ђ¤  Ё ¤ «ҐҐ Ўл« а бЇа®бва ­Ґ­
­  Ў®«ҐҐ иЁа®Є® ЁбЇ®«м§гҐ¬лҐ п§лЄЁ. „«п Ё««обва жЁЁ ®Ўй­®бвЁ
вҐе­®«®ЈЁЁ ®Ўа Ў®вЄЁ ЁбЄ«о祭Ё© ў а §«Ёз­ле п§лЄ е ўлб®Є®Ј®
га®ў­п б­ з «  Єа вЄ® ®ЇЁиҐ¬ ®Ўа Ў®вЄг ЁбЄ«о祭Ё© ў Ђ¤Ґ,   § вҐ¬
Ў®«ҐҐ Ї®¤а®Ў­® а бᬮваЁ¬ ЇаЁ­жЁЇл ॠ«Ё§ жЁЁ ®Ўа Ў®вЄЁ
ЁбЄ«о祭Ё© ў „Ґ«мдЁ.

я_я14. ЋЎа Ў®вЄ  ЁбЄ«о祭Ё© ў Ђ¤Ґ

ђ Ў®в  б ЁбЄ«о祭Ёп¬Ё ўЄ«оз Ґв ў ᥡп ап¤ нв Ї®ў.

1) ЋЇЁб ­ЁҐ ЁбЄ«о祭Ёп:
€¬п_ЁбЄ«о祭Ёп : exception;
Ќ ЇаЁ¬Ґа: My_error : exception;
‘гйҐбвўгҐв ­ Ў®а ЇаҐ¤®ЇаҐ¤Ґ«Ґ­­ле ЁбЄ«о祭Ё©, ЁбЇ®«м§®ў ­ЁҐ
Є®в®але ­Ґ вॡгҐв ЇаҐ¤ў аЁвҐ«м­®Ј® ®ЇЁб ­Ёп:
CONSTRAINT_ERROR ЋиЁЎЄ  ўл室  §  Ја ­Ёжл ¬ ббЁў  Ё«Ё ббл«Є 
­  ­Ґ®ЇаҐ¤Ґ«Ґ­­л© гЄ § вҐ«м
NUMERIC_ERROR ЂаЁд¬ҐвЁзҐбЄ п ®иЁЎЄ 
PROGRAM_ERROR ЌҐ®Ўа Ў влў Ґ¬ п ®иЁЎЄ 
STORAGE_ERROR ЋиЁЎЄ  Ї ¬пвЁ
TASKING_ERROR ЋиЁЎЄ  ў§ Ё¬®¤Ґ©бвўЁп § ¤ з

2) ‚®§Ўг¦¤Ґ­ЁҐ ЁбЄ«о祭Ёп
‚®§Ўг¦¤Ґ­ЁҐ ЁбЄ«о祭Ёп Їа®Ё§ў®¤Ёвбп б Ї®¬®ймо ®ЇҐа в®а 
raise:
raise €¬п_ЁбЄ«о祭Ёп;
Ќ ЇаЁ¬Ґа,
if ЋиЁЎЄ  then
raise My_error;
end if;

3) ЋЇЁб ­ЁҐ ®Ўа Ў®взЁЄ  ЁбЄ«о祭Ёп
ЋЎа Ў®взЁЄ ЁбЄ«о祭Ёп Ї®¬Ґй Ґвбп ў Є®­жҐ Ї®¤Їа®Ја ¬¬л ўб«Ґ¤
§  Є«озҐўл¬ б«®ў®¬ exception. ЋЎа Ў®взЁЄ ЁбЄ«о祭Ёп Ё¬ҐҐв
б«Ґ¤гойго д®а¬г:
when €¬п_ЁбЄ«о祭Ёп => Џ®б«Ґ¤®ў вҐ«м­®бвм ®ЇҐа в®а®ў;
Ќ ЇаЁ¬Ґа,
when My_error => ‚лў®¤ ­  нЄа ­ б®®ЎйҐ­Ёп ®Ў ®иЁЎЄҐ;
‚¬Ґбв® Ё¬Ґ­Ё ЁбЄ«о祭Ёп Ї®б«Ґ б«®ў  when ¬®¦Ґв Ї®пўЁвмбп
Є«о祢®Ґ б«®ў® others, Є®в®а®Ґ § ¤ Ґв ўбҐ ®бв «м­лҐ ЁбЄ«о祭Ёп,
­Ґ ®Ўа Ў®в ­­лҐ а ­ҐҐ. Ќ ЇаЁ¬Ґа, б®ў®ЄгЇ­®бвм ®Ўа Ў®взЁЄ®ў
ЁбЄ«о祭Ё© ¬®¦Ґв ўлЈ«п¤Ґвм б«Ґ¤гойЁ¬ ®Ўа §®¬:

Procedure Example;
Begin
Џ®б«Ґ¤®ў вҐ«м­®бвм ®ЇҐа в®а®ў, ¬®ЈгйЁе ў®§Ўг¤Ёвм
ЁбЄ«о祭ЁҐ;
exception
when My_error => ‚лў®¤ ­  нЄа ­ б®®ЎйҐ­Ёп ®Ў ®иЁЎЄҐ
My_error;
ЋЎа Ў®вЄ  ®иЁЎЄЁ My_error;
when others => ‚лў®¤ ­  нЄа ­ б®®ЎйҐ­Ёп ®
­ҐЁ§ўҐбв­®© ®иЁЎЄҐ;
raise;
End Example;

ЏаЁ Їа ўЁ«м­®¬ ўлЇ®«­Ґ­ЁЁ Їа®Ја ¬¬л ®ЇҐа в®ал, б«Ґ¤гойЁҐ § 
б«®ў®¬ exception, ­Ґ ўлЇ®«­повбп. ЏаЁ ў®§Ўг¦¤Ґ­ЁЁ ЁбЄ«о祭Ёп
Є ЄЁ¬-«ЁЎ® ®ЇҐа в®а®¬, ­Ґ ўлЇ®«­повбп ®ЇҐа в®ал, б«Ґ¤гойЁҐ ¤®
б«®ў  exception,   ў¬Ґбв® ­Ёе ­ зЁ­ Ґвбп ўлЇ®«­Ґ­ЁҐ ®ЇҐа в®а®ў
®Ўа Ў®взЁЄ . …б«Ё ®Ўа Ў®взЁЄ ®вбгвбвўгҐв, в® ЁбЄ«о祭ЁҐ
ў®§Ўг¦¤ Ґвбп ў ®еў влў о饬 Ў«®ЄҐ. …б«Ё Ё§ўҐбв­®, Є Є ®Ўа Ў®в вм
ЁбЄ«озЁвҐ«м­го бЁвг жЁо, в® ®­  ®Ўа Ў влў Ґвбп. …б«Ё ­Ґ Ё§ўҐбв­®,
Є Є нв® Ё¬ҐҐв ¬Ґбв® ў б«гз Ґ ЇҐаҐе®¤  Є ®ЇҐа в®аг "when others",
в® ўлў®¤Ёвбп б®®ЎйҐ­ЁҐ ®Ў ®иЁЎЄҐ Ё Їа®Ё§ў®¤Ёвбп Ї®ўв®а­®Ґ
ў®§Ўг¦¤Ґ­ЁҐ ЁбЄ«о祭Ёп ¤«п ЇҐаҐ¤ зЁ ®Ўа Ў®вЄЁ ў® ў­Ґи­Ё© Ў«®Є.

‚ § Є«о祭ЁЁ ЇаЁўҐ¤Ґ¬ ЇаЁ¬Ґа § йЁвл ®в ЁбЄ«озЁвҐ«м­®©
бЁвг жЁЁ ЇаЁ а Ў®вҐ б д ©«®¬. Ќ ЇаЁ¬Ґа, ¬л ®вЄал«Ё д ©« Ё
Їа®Ё§ў®¤Ё¬ б ­Ё¬ ®ЇҐа жЁЁ ўў®¤ -ўлў®¤ ,   § вҐ¬ § Єалў Ґ¬ ҐЈ®.
…б«Ё ў® ўаҐ¬п ўлЇ®«­Ґ­Ёп ®ЇҐа жЁ© ўў®¤ -ўлў®¤  ў®§Ўг¦¤ Ґвбп
ЁбЄ«о祭ЁҐ, в® Ї®бЄ®«мЄг ҐбвҐб⢥­­ п Ї®б«Ґ¤®ў вҐ«м­®бвм ¤Ґ©бвўЁ©
ЇаҐЄа й Ґвбп, д ©« ¬®¦Ґв ®бв вмбп ­Ґ§ Єалвл¬ Ё Є ЄЁҐ-в® ¤ ­­лҐ
¬®Јгв ®Є § вмбп Ї®вҐап­­л¬Ё. Ђ­ «®ЈЁз­ п бЁвг жЁп ¬®¦Ґв Ё¬Ґвм
¬Ґбв® б ¤Ё­ ¬ЁзҐбЄ®© Ї ¬пвмо - Ї ¬пвм ўл¤Ґ«пҐвбп, § вҐ¬
Їа®Ёб室Ёв ЁбЄ«о祭ЁҐ Ё Ї ¬пвм ®Є §лў Ґвбп ­Ґў®§ўа йҐ­­®©
бЁб⥬Ґ, в.Є. ­ аг襭 ҐбвҐб⢥­­л© Ї®а冷Є б«Ґ¤®ў ­Ёп ®ЇҐа в®а®ў
Їа®Ја ¬¬л.
‘«Ґ¤гойЁ© ЇаЁ¬Ґа Ї®Є §лў Ґв ў аЁ ­в § йЁвл ®в Ї®¤®Ў­®©
бЁвг жЁЁ б Ї®¬®ймо ®Ўа Ў®взЁЄ  ЁбЄ«о祭Ё©.

Procedure File_Work;
Begin
ЋвЄалвЁҐ д ©« ; -- 1
Begin
ђ Ў®в  б д ©«®¬; -- 2
exception
when others =>
‡ ЄалвЁҐ д ©« ; -- 4
raise;
end;
‡ ЄалвЁҐ д ©« ; -- 3
End File_Work;

…б«Ё ЁбЄ«о祭ЁҐ ­Ґ ў®§Ўг¦¤ Ґвбп ў Їа®жҐ¤гаҐ, в® Ї®а冷Є
б«Ґ¤®ў ­Ёп ®ЇҐа в®а®ў б«Ґ¤гойЁ©: 1, 2, 3. …б«Ё ў®§Ўг¦¤ Ґвбп
ЁбЄ«о祭ЁҐ б।Ё ®ЇҐа в®а®ў 2, в® ®ЇҐа в®а®¬ 4 § Єалў Ґвбп д ©« Ё
Їа®Ёб室Ёв Ї®ўв®а­®Ґ ў®§Ўг¦¤Ґ­ЁҐ ЁбЄ«о祭Ёп ¤«п ЇҐаҐ¤ зЁ ҐЈ® ­ 
®Ўа Ў®вЄг ў® ў­Ґи­ЁҐ Ў«®ЄЁ. ’ ЄЁ¬ ®Ўа §®¬ д ©« Ўг¤Ґв § Єалў вмбп
Є Є ЇаЁ ®вбгвбвўЁҐ ЁбЄ«о祭Ё©, в Є Ё ЇаЁ Ёе ­ «ЁзЁЁ.

Љ Є ¬л ᥩз б гўЁ¤Ё¬, ⥠¦Ґ б ¬лҐ Є®­жҐЇжЁЁ ЁбЄ«о祭Ё©
§ «®¦Ґ­л Ё ў б ¬®¬ ЇҐаҐ¤®ў®¬ ­  ᥣ®¤­пи­Ё© ¤Ґ­м Їа®Ја ¬¬­®¬
б।б⢥ „Ґ«мдЁ.

я_я15. ЋЎа Ў®вЄ  ЁбЄ«о祭Ё© ў „Ґ«мдЁ

„Ґ«мдЁ ў ­ бв®п饥 ўаҐ¬п пў«пҐвбп б ¬®© ЇҐабЇҐЄвЁў­®© б।®©
Їа®Ја ¬¬Ёа®ў ­Ёп, Ї®н⮬г а бᬮваЁ¬ ®Ўа Ў®вЄг ЁбЄ«о祭Ё© ў
„Ґ«мдЁ Ў®«ҐҐ Ї®¤а®Ў­®.
€бЄ«о祭ЁҐ ў „Ґ«мдЁ ­®бЁв ¤ў®пЄЁ© е а ЄвҐа. ‘ ®¤­®© бв®а®­л
- нв® ва ¤ЁжЁ®­­®Ґ Ї®­пвЁҐ - бЁЈ­ « ®Ў ®иЁЎ®з­®¬ ®вЄ«®­Ґ­ЁЁ ў
ўлЇ®«­Ґ­ЁЁ ®ЇҐа в®а®ў,   б ¤агЈ®© бв®а®­л - нв® ®ЎкҐЄв,
ᮤҐа¦ йЁ© Ё­д®а¬ жЁо ® е а ЄвҐаҐ Ё ¬Ґб⥠®иЁЎЄЁ. ’® Ґбвм §¤Ґбм
­  Ї®­пвЁҐ ЁбЄ«о祭Ёп ­ Є« ¤лў Ґвбп ®ЎкҐЄв­®-®аЁҐ­вЁа®ў ­­ п
Є®­жҐЇжЁп. ЏаЁ ў®§­ЁЄ­®ўҐ­ЁЁ ЁбЄ«о祭Ёп ᮧ¤ Ґвбп нЄ§Ґ¬Ї«па
®ЎкҐЄв -ЁбЄ«о祭Ёп б Ї®¬®ймо ¬Ґв®¤ -Є®­бвагЄв®а ,   Ї®б«Ґ
®Ўа Ў®вЄЁ нЄ§Ґ¬Ї«па ®ЎкҐЄв -ЁбЄ«о祭Ёп а §аги Ґвбп
¬Ґв®¤®¬-¤ҐбвагЄв®а®¬. ЏаЁзҐ¬ а §аг襭ЁҐ ўбҐЈ¤  Їа®Ё§ў®¤Ёвбп
 ўв®¬ вЁзҐбЄЁ б ¬®© б।®©.

Ќ  б ¬®¬ ўҐае­Ґ¬ га®ў­Ґ ўў®¤Ёвбп Ї®­пвЁҐ ­ ¤Ґ¦­®Ј®
ЇаЁ«®¦Ґ­Ёп. Ќ ¤Ґ¦­®Ґ ЇаЁ«®¦Ґ­ЁҐ ­Ґ ўл«Ґв Ґв ў б।㠯ਠЄ ¦¤®©
®иЁЎЄҐ,   Їлв Ґвбп ЁбЇа ўЁвм ҐҐ ў­гвਠᥡп. —в®Ўл ЇаЁ«®¦Ґ­ЁҐ
Ўл«® ­ ¤Ґ¦­л¬, ­Ґ®Ўе®¤Ё¬®, зв®Ўл ®­® Ўл«® бЇ®б®Ў­® а бЇ®§­ ў вм
ЁбЄ«озЁвҐ«м­лҐ бЁвг жЁЁ Ё ॠЈЁа®ў вм ­  ­Ёе.
‘«Ґ¤гойЁ¬ Ї®­пвЁҐ¬ пў«пҐвбп § йЁйҐ­­л© Ў«®Є Є®¤ . ќв® Ў«®Є,
­  Є®в®а®¬ ®ЇаҐ¤Ґ«Ґ­ ®вЄ«ЁЄ ­  ЁбЄ«о祭Ёп. …б«Ё ў Ў«®ЄҐ ®вЄ«ЁЄ ­ 
ЁбЄ«о祭ЁҐ ­Ґ ®ЇаҐ¤Ґ«Ґ­,   ЁбЄ«о祭ЁҐ ў®§­ЁЄ«®, в® ®­® ЇҐаҐ¤ Ґвбп
­  ®Ўа Ў®вЄг ў® ў­Ґи­Ё© Ў«®Є Ё в.¤. …б«Ё ­Ё ў ®¤­®¬ Ё§ Ў«®Є®ў
ЁбЄ«о祭ЁҐ ­Ґ ®ЇаҐ¤Ґ«Ґ­®, в® ®­® ЇҐаҐ¤ Ґвбп ­  ®Ўа Ў®вЄг б।Ґ,  
ЇаЁ«®¦Ґ­ЁҐ  ў аЁ©­® § ўҐаи Ґв ўлЇ®«­Ґ­ЁҐ.
‡ йЁйҐ­­л© Ў«®Є Є®¤  ®ЇЁблў Ґвбп § аҐ§ҐаўЁа®ў ­­л¬Ё б«®ў ¬Ё
try ... end. ‚­гваЁ нв®Ј® Ў«®Є  Ї®¬Ґй овбп ®ЇҐа в®ал, ­  Є®в®але
¦Ґ« вҐ«м­® ®Ўа Ў®в вм ЁбЄ«о祭Ёп, Ё б ¬Ё ®ЇҐа в®ал ®Ўа Ў®вЄЁ
ЁбЄ«о祭Ё©.
я15.1. ‡ йЁв  аҐбгаб®ў

Џ®бЄ®«мЄг ЇаЁ ў®§Ўг¦¤Ґ­ЁЁ ЁбЄ«о祭Ёп ­ аги Ґвбп ҐбвҐб⢥­­л©
Ї®а冷Є б«Ґ¤®ў ­Ёп ®ЇҐа в®а®ў, в® ­ ЁЎ®«ҐҐ вЁЇЁз­®© бЁвг жЁҐ© ў
н⮬ б«гз Ґ пў«пҐвбп ­Ґ®бў®Ў®¦¤Ґ­ЁҐ а ­ҐҐ § еў зҐ­­ле аҐбгаб®ў. Љ
в ЄЁ¬ аҐбгаб ¬ ў ЇҐаўго ®зҐаҐ¤м ®в­®бпвбп д ©«л Ё Ї ¬пвм. „Ґ«мдЁ
ЇаҐ¤®бв ў«пҐв ў®§¬®¦­®бвм ў®§ўа в  а ­ҐҐ § еў зҐ­­ле аҐбгаб®ў ЇаЁ
ў®§Ўг¦¤Ґ­ЁЁ ЁбЄ«о祭Ёп ЎҐ§ ўлпб­Ґ­Ёп ЇаЁзЁ­ б ¬®Ј® ЁбЄ«о祭Ёп.
„«п нв®Ј® ЁбЇ®«м§гҐвбп ЇҐаўл© ў аЁ ­в Ё§ ¤ўге ў аЁ ­в®ў
§ йЁйҐ­­®Ј® Ў«®Є . ‘вагЄвга  Ў«®Є  Є®¤  б § йЁйҐ­­л¬ ®в
ЁбЄ«о祭Ёп ўл¤Ґ«Ґ­ЁҐ¬ аҐбгаб  ЇаЁўҐ¤Ґ­  ­Ё¦Ґ:

‚뤥«Ґ­ЁҐ аҐбгаб ; {1}
try
ЋЇҐа в®ал, ЁбЇ®«м§гойЁҐ аҐбгаб, ­  Є®в®але ¬®¦Ґв
ў®§­ЁЄ­гвм ЁбЄ«о祭ЁҐ; {2}
finally
Ћбў®Ў®¦¤Ґ­ЁҐ аҐбгаб ; {3}
end;

‡ йЁйҐ­­л© Ў«®Є а Ў®в Ґв б«Ґ¤гойЁ¬ ®Ўа §®¬:
- Ґб«Ё ЁбЄ«о祭Ёп ­Ґв, в® Ї®б«Ґ¤®ў вҐ«м­®бвм ўлЇ®«­Ґ­Ёп
®ЇҐа в®а®ў б«Ґ¤гой п - 1, 2, 3;
- Ґб«Ё ­  гз бвЄҐ try ... finally ў®§­ЁЄ Ґв ЁбЄ«о祭ЁҐ, в®
гЇа ў«Ґ­ЁҐ ­Ґ¬Ґ¤«Ґ­­® ЇҐаҐ¤ Ґвбп §  finally, Ј¤Ґ ўлЇ®«­пҐвбп
®ЇҐа в®а 3. ЋЇҐа в®ал §  finally ­ §лў овбп Є®¤®¬ ®зЁбвЄЁ.
ЏаЁўҐ¤Ґ­­л© ў аЁ ­в § йЁйҐ­­®Ј® Ў«®Є  try...finally...end
пў«пҐвбп ў аЁ ­в®¬ Ё¬Ґ­­® § йЁвл ®в ЁбЄ«озЁвҐ«м­®© бЁвг жЁЁ,   ­Ґ
®Ўа Ў®вЄ®© ҐҐ. Љ®¤ ®зЁбвЄЁ ­Ґ Ё¬ҐҐв ¤ ¦Ґ Ё­д®а¬ жЁЁ ® ⮬, Є ЄЁ¬
бЇ®б®Ў®¬ Їа®Ја ¬¬  Ї®¤®и«  Є ҐЈ® ўлЇ®«­Ґ­Ёо - ҐбвҐб⢥­­л¬
Ї®ап¤Є®¬ Ё«Ё зҐаҐ§ ЁбЄ«о祭ЁҐ.
„ ­­л© ЇаЁ¬Ґа ¬®¦­® ба ў­Ёвм б Ї®б«Ґ¤­Ё¬ ЇаЁ¬Ґа®¬ Ё§ Ђ¤л,
аҐи ойЁ¬ вг ¦Ґ б ¬го § ¤ зг.

„«п ўлЇ®«­Ґ­Ёп Ё¬Ґ­­® ®Ўа Ў®вЄЁ ЁбЄ«о祭Ёп ­Ґ®Ўе®¤Ё¬® §­ вм
ЇаЁзЁ­г ЁбЄ«о祭Ёп. ЃЁЎ«Ё®вҐЄ  „Ґ«мдЁ б®¤Ґа¦Ёв Ў®«ми®© ­ Ў®а
ЇаҐ¤®ЇаҐ¤Ґ«Ґ­­ле ЁбЄ«о祭Ё©, Єа вЄ п е а ЄвҐаЁбвЁЄ  Є®в®але
ЇаҐ¤бв ў«Ґ­  ­Ё¦Ґ.

я15.2. ЏаҐ¤®ЇаҐ¤Ґ«Ґ­­лҐ ЁбЄ«о祭Ёп

ЃЁЎ«Ё®вҐЄ  „Ґ«мдЁ ®Ў« ¤ Ґв б।бвў ¬Ё ®Ўа Ў®вЄЁ б«Ґ¤гойЁе
ўЁ¤®ў ЁбЄ«озЁвҐ«м­ле бЁвг жЁ©:
- ЁбЄ«о祭Ёп ўў®¤ -ўлў®¤ ;
- ЁбЄ«о祭Ёп ¤Ё­ ¬ЁзҐбЄ®© Ї ¬пвЁ;
- ЁбЄ«о祭Ёп 楫®© ¬ вҐ¬ вЁЄЁ;
- ЁбЄ«о祭Ёп ўҐйҐб⢥­­®© ¬ вҐ¬ вЁЄЁ;
- ЁбЄ«о祭Ёп ­Ґб®ўЇ ¤Ґ­Ёп вЁЇ®ў;
- ЁбЄ«о祭Ёп ЇаҐ®Ўа §®ў ­Ёп;
-  ЇЇ а в­лҐ ЁбЄ«о祭Ёп.
ђ бᬮваЁ¬ Єа вЄ® Є ¦¤л© Ё§ ўЁ¤®ў ЁбЄ«о祭Ё©. ‚ Ў®«миЁ­б⢥
б«гз Ґў Ё¬п ЁбЄ«о祭Ёп Ї®­пв­л¬ ®Ўа §®¬ а §кпб­пҐв ЇаЁзЁ­г
ЁбЄ«о祭Ёп.

€бЄ«о祭ЁҐ ўў®¤ -ўлў®¤  - EInOutError.
€бЄ«о祭ЁҐ ¤Ё­ ¬ЁзҐбЄ®© Ї ¬пвЁ - EOutOfMemory,
EInvalidPointer.
€бЄ«о祭ЁҐ 楫®© ¬ вҐ¬ вЁЄЁ - EIntError, Ё¬ҐҐв ­ б«Ґ¤­ЁЄ®ў -
EDivByZero, ERangeError, EIntOverflow.
€бЄ«о祭ЁҐ ўҐйҐб⢥­­®© ¬ вҐ¬ вЁЄЁ - EMathError, Ё¬ҐҐв
­ б«Ґ¤­ЁЄ®ў - EInvalidOp, EZeroDivide, EOverflow, EUnderflow.
€бЄ«о祭ЁҐ ­Ґб®ўЇ ¤Ґ­Ёп вЁЇ®ў - EInvalidCast.
€бЄ«о祭ЁҐ ЇаҐ®Ўа §®ў ­Ёп - EConvertError.
ЂЇЇ а в­лҐ ЁбЄ«о祭Ёп - EProcessorException, Ё¬ҐҐв
­ б«Ґ¤­ЁЄ®ў - EGPFault, EStackFault, EPageFault, EInvalidOpCode,
EBreakPoint, ESingleStep.

Ћв¬ҐвЁ¬, зв® ўбҐ ЇаЁўҐ¤Ґ­­лҐ ЁбЄ«о祭Ёп пў«повбп
­ б«Ґ¤­ЁЄ ¬Ё ®ЎкҐЄв  Exception.

я15.3. €бЄ«о祭Ёп Є Є ®ЎкҐЄвл

“¦Ґ Ј®ў®аЁ«®бм ® ⮬, зв® ЇаЁ ў®§­ЁЄ­®ўҐ­ЁЁ ЁбЄ«озЁвҐ«м­®©
бЁвг жЁЁ б।  „Ґ«мдЁ б®§¤ Ґв нЄ§Ґ¬Ї«па ®ЎкҐЄв -ЁбЄ«о祭Ёп. ‚бҐ
®ЎкҐЄвл-ЁбЄ«о祭Ёп пў«повбп ­ б«Ґ¤­ЁЄ ¬Ё Ў §®ў®Ј® Є« бб 
Exception. ќв®в Ў §®ўл© Є« бб Ё¬ҐҐв б«Ґ¤го饥 ЇаЁ¬Ґа­®Ґ ®ЇЁб ­ЁҐ:

Type
Exception = class(TObject)
property Message : string read GetMessage write SetMessage;
private
function GetMessage : string;
procedure SetMessage(const Value : string);
public
constructor Create(const Msg : string);
destructor Destroy; override;
End;

‘ў®©бвў® Message ЇаҐ¤бв ў«пҐв б®Ў®© б®®ЎйҐ­ЁҐ, Є®в®а®Ґ
Ї®пў«пҐвбп ў бЇҐжЁ «м­®¬ ¤Ё «®Ј®ў®¬ ®Є­Ґ, Є®Ј¤  Ї®пў«пҐвбп
ЁбЄ«о祭ЁҐ, Ґб«Ё ®вбгвбвўгҐв бЇҐжЁ «м­л© ®Ўа Ў®взЁЄ ЁбЄ«о祭Ёп.
‚ᥠЇҐаҐзЁб«Ґ­­лҐ ўЁ¤л ЁбЄ«о祭Ё© пў«повбп ­ б«Ґ¤­ЁЄ ¬Ё
Exception, в.Ґ. ®ЇЁблў овбп б«Ґ¤гойЁ¬ ®Ўа §®¬, ­ ЇаЁ¬Ґа:

Type
EInOutError = class(Exception)
public
ErrorCode : Integer;
end;

Ј¤Ґ ErrorCode - Є®¤ ®иЁЎЄЁ, гЄ §лў ойЁ© ­  вг Ё«Ё Ё­го
Є®­ЄаҐв­го ЇаЁзЁ­г, ўл§ў ўиго ЁбЄ«о祭ЁҐ.

‘®Ўб⢥­­®Ґ ЁбЄ«о祭ЁҐ ⮦Ґ «гзиҐ ®ЇаҐ¤Ґ«Ёвм Є Є ­ б«Ґ¤­ЁЄ 
Є« бб  Exception:
Type
EMyException = class(Exception);

Соседние файлы в папке Операционные среды АСОИУ