Войти Регистрация

Docx

  • Рефераты
  • Дипломные работы
  • Прочее
    • Презентации
    • Рефераты
    • Курсовые работы
    • Дипломные работы
    • Диссертациии
    • Образовательные программы
    • Инфографика
    • Книги
    • Тесты

Информация о документе

Цена 20000UZS
Размер 358.0KB
Покупки 0
Дата загрузки 26 Сентябрь 2026
Расширение doc
Раздел Курсовые работы
Предмет Информатика и ИТ

Продавец

QIDIRBAEV ERKINBAY

Дата регистрации 25 Ноябрь 2024

0 Продаж

c++ tilinde qáte jaǵdaylar menen islew (exceptions)

Купить
MAZMUNÍ
Kirisiw.......................................................................................................................3
1-§.  C++ tilinde Exception mexanizminiń tiykarları....................... .........................5  
2 -§. Standart hám paydalanıwshı tárepinen jaratılǵ,an Exceptionlar .......................15
3-§. Qáte ja	
ǵ,daylardı basqarıwdıń qatallı	ǵ,ı hám optimallastırıw............................21
4-§. Exception mexanizmin joybarda qollanıw.......................................................27
Juwmaqlaw...... .................................................................. ......................................34
Paldalanıl	
ǵ,an ádebiyatlar ............................................. ...................... ......................36
2 Kirisiw
Temanıń   aktuallıǵı:   Zamana	ǵóy   informaciyalıq   texnolo	ǵiyalar   tez
rawajlanıp   atır	
ǵ,an   bir   dáwirde   pro	ǵrammalastırıw   tilleri   arqalı   isenimli,   turaqlı
hám qáteler	
ǵe shıdamlı pro	ǵrammalardı jaratıw máseleleri ayrıqsha áhmiyetke iye
bolıp   barmaqta.   Pro	
ǵrammalastırıw   procesinde   payda   bolatu	ǵ,ın   qáteler   (errors)
hám   kútilme	
ǵen   ja	ǵ,daylar   (exceptions)   pro	ǵrammanıń   toqtap   qalıwına,
nátiyjelerdiń   qáte   bolıwına   yamasa   sistema   isenimlili	
ǵiniń   páseyiwinen   kelip
shı	
ǵ,adı.   Sol   sebepli   qáte   ja	ǵ,daylardı   basqarıw   hám   olardı   durıs   qayta   islew
(handlin	
ǵ)   pro	ǵrammalastırıwdıń   eń   tiykar	ǵ,ı   hám   aktual   mashqalalarınan   biri
esaplanadı.
Ásirese,   C++   tilinde   exception   mexanizmi   arqalı   qáteliklerdi   basqarıw
pro	
ǵrammanıń   isenimlili	ǵin   asırıwda,   kodtıń   oqılıwın   jaqsılawda   hám   quramalı
sistemalardı jaratıwda áhmiyetli rol oynaydı. Exception mexanizmi pro	
ǵrammanıń
ádette	
ǵidey   bolma	ǵ,an   ja	ǵ,daylarda   da   jumısın   dawam   ettiriwine,   qáteliklerdi
anıqlap, olar	
ǵ,a sáykes reakciya kórsetiwine imkaniyat beredi.
Olarda   qáte   ja	
ǵ,daylardı   basqarıwdıń   teoriyalıq   tiykarları   menen   bir   qatarda,
ámeliy mısallar arqalı túsindirip beril	
ǵen. Sonıń ushın bul temanı úyreniw tek 	ǵ,ana
teoriyalıq   bilimlerdi   bekkemlep   qoymastan,   al   ámeliy   kónlikpelerdi
rawajlandırıwda da úlken áhmiyetke iye.
Temanıń aktuallı	
ǵ,ı sonıń menen bel	ǵilenedi: bú	ǵin	ǵi kúnde iri pro	ǵrammalıq
sistemalar,   web-qosımshalar,   mobil   qosımshalar   hám   avtomatlastırıl	
ǵ,an   basqarıw
sistemaları   qátelerdi   durıs   basqarıwdı   talap   etedi.   Qáte   ja	
ǵ,daylardı   esapqa   almay
jazıl	
ǵ,an   pro	ǵrammalarda   isenimlilik   tómenlep,   qáwipsizlik   máseleleri   payda
bolıwı   múmkin.   Sol   sebepli   exception   mexanizmin   úyreniw   -   zamana	
ǵóy
pro	
ǵrammist ushin zárúr bilim esaplanadı.
Kurs   jumısınıń   maqset   hám   wazıypaları   :   Bul   kurs   jumisınıń   tiykar	
ǵ,ı
maqseti   C++   tilinde   qáte   ja	
ǵ,dayların   basqarıw   mexanizmlerin,   ásirese   exception
3 (ayrıqsha) mexanizminiń teoriyalıq hám ámeliy tiykarların tereń úyreniw, sonday-
aq, olardı ámelde qollanıwdı úyreniwden ibarat.
Wazıypalar :
Bul maqsetke erisiw ushin tómendeǵi wazıypalar bel	ǵilenedi:
Pro	
ǵrammalawda   qátelerdiń   túrlerin   (sintaksislik,   lo	ǵikalıq,   runtime   qáteler)
úyreniw;
 C++ tilinde qáte ja	
ǵ,daylardı basqarıwdıń dástúriy usılların analizlew;
 Exception   mexanizminiń   tiykarģı   elementlerin   (try,   catch,   throw)
túsindiriw;
 Standart hám paydalanıwshı jaratqan exception túrlerin qaraw;
 Qáte   jaģdaylarda   pro	
ǵrammanıń   isenimlili	ǵin   támiyinlew   usılların
úyreniw;
 Ámeliy misallar arqalı exception mexanizmin qollanıwdı kórsetiw;
 Kodtıń   optimallı	
ǵ,ı   hám   oqılıwshılı	ǵ,ın   jaqsılawda   exception
mexanizminiń ornın anıqlaw.
4 1-§. C++ tilinde Exception mexanizminiń tiykarları
C++ tilinde exception mexanizmi proǵrammalıq sistemalarda qáte ja	ǵ,dayların
basqarıwdıń   eń   áhmiyetli   hám   kúshli   qurallarınan   biri   esaplanadi.   Bul   mexanizm
pro	
ǵrammalastırıwshı	ǵ,a   pro	ǵrammanıń   islew   barısında   payda   bolatu	ǵ,ın
kútilme	
ǵen   ja	ǵ,daylardı   (qátelerdi)   uslap   alıw,   olardı   analizlew   hám   pro	ǵrammanı
toqtatıp qoymay, basqarıp turıl	
ǵ,an túrde jumısın dawam ettiriw imkaniyatın beredi.
C++ tilinde exception mexanizmi tek ģana qáte xabarın shi	
ǵarıw emes, al quramalı
procesti   qáte anıqlaw, jiberiw (throw), uslaw (catch), hám qayta islew (handlin	
ǵ)
processlerin óz ishine aladı.
C++   tilinde   exception   mexanizminin   tiykarı   try,   throw,   catch
konstrukciyalarına súyenedi. Bul úsh element bir-biri menen tı	
ǵ,ız baylanıslı bolıp,
qáte ja	
ǵ,daylarınıń tolıq basqarıw sistemasın  jaratadı. try blo	ǵı  ishinde qáte payda
bolıwı   múmkin   bol	
ǵ,an   kod   jaylastırıladı.   E	ǵer   sol   kod   orınlanıw   dawamında
kútilme	
ǵen   ja	ǵ,day   payda   bolsa,   throw   operatorı   arqalı   jiberiledi.   Jiberil	ǵen
exception bolsa catch blo	
ǵi arqalı uslap qalınıp, dúzetiw jumısı orınlanadı.
Exception   mexanizminiń   eń   áhmiyetli   tiykarlarınan   biri     pro	
ǵrammanıń
normal   a	
ǵ,ısı   menen   qáte   a	ǵ,ısın   ajıratıw   bolıp   esaplanadi.   Ádette   pro	ǵrammalıq
kodtıń   ózi   normal   ja	
ǵ,dayda   isleydi,   al   qáte   ja	ǵ,daylar   bolsa   arnawlı   mexanizm
arqalı basqarıladi. Bul qatnas kodtıń tazalı	
ǵ,ın saqlaydı hám lo	ǵikanı anıqlastıradı.
Máselen, if-else arqalı hár bir qáte tekserilip atır	
ǵ,an ja	ǵ,daylar menen salıstır	ǵ,anda,
exception mexanizmi kodtı jeńil hám túsinikli jetedi.
C++   tilinde   exceptionler   standart   exception   hám   paydalanıwshı   exception
túrlerine   bólinedi.   Standart   ayrıqshalıqlar   <exception>   hám   <stdexcept>
kitapxanalarında   anıq   beril	
ǵen   bolıp,   olardıń   jumisına   runtime_error,   lo	ǵic_error,
out_of_ran	
ǵe,   invalid_ar	ǵument   sıyaqlı   túrler   kiredi.   Bul   ayrıqshalıqlar   universal
qátelerdi   basqarıw   ushin   qollanıladı.   Paydalanıwshı   ayırımlar   bolsa   pro	
ǵrammist
tárepinen  jaratıladı  hám  joybardı'ń ózine  tán qáte ja	
ǵ,dayların modellestiriw ushın
xızmet etedi.
5 Exception   mexanizminiń   tiykarǵ,ı   áhmiyetli   principleriniń   biri     stack
unwindin	
ǵ  (shaqırıw   shinjirın   tazalaw).   E	ǵer   qáte   payda   bolsa,   pro	ǵrammanıń
shaqırıw   shinj'rı   avtomatik   túrde   artqa   qaray   tazalanadı,   ya	
ǵ,nıy   barlıq   lokal
obyektlerdiń destruktorları shaqırıladı. Bul resurslardı (yad, fayl, tarmaq baylanısı)
durıs bosatıw imkanın beredi. Sol sebepli  C++ tilinde exception mexanizmi RAII
principi menen bir	
ǵelikte islenedi.
Jáne bir  áhmiyetli  aspekt  – bul – qáteniń tarqalıwı. Qáte payda bol	
ǵan jerde
ǵ	
,ana   emes,   bálkim   ol   funkciya   arqalı   joqarı   dárejeler	ǵe   ótedi.   E	ǵer   aralıq
qatarlarda   catch   blo	
ǵı   bolmasa,   exception   avtomatikalıq   túrde   eń   joqarı   qatar	ǵ,a
jetedi. Bul qatnas qáte basqarıwdı oraylastıradı hám sistemalı etedi.
C++   tilinde   exception   mexanizmi   optimallastiriw   menen   de   tı	
ǵ,ız   baylanıslı.
Qáte bolma	
ǵ,an ja	ǵ,dayda exception mexanizmi derlik qosımsha júk payda etpeydi.
Biraq   qáte   ja	
ǵ,dayda   tolıq   basqarıw   iske   qosıladı.   Usı   princip   "zero-cost
abstraction"   dep   ataladı   hám   C++   tiliniń   eń   áhmiyetli   filosofiyalarınan   biri
esaplanadi.
Pro	
ǵrammalastırıw   ámeliyatında   qáteler   menen   islesiw   bárqulla   eń   quramalı
máselelerden   biri   bolıp   kel	
ǵen.   Ápiwayı   pro	ǵrammalarda   qáteliklerdi   tekseriw
ushın   kóbinese   if-else   shártli   operatorları   yamasa   funkciyadan   qaytıwshı   arnawlı
qátelik   kodları   (error   codes)   paydalanılatu	
ǵ,ın   yedi.   Biraq,   dástúr   quramalasqan
sayın,   bul   usıl   kodtiń   "jasılıp   ketiwine"   (spa
ǵetti   code)   hám   tiykarģı   lo	ǵikanıń
qátelerdi tekseriw kodları ishinde kómilip qalıwına alıp keledi.
C++   tilinde   Exception   (ayrıqsha   ja	
ǵ,day)     bul   pro	ǵramma   orınlanıp   atır	ǵ,an
waqıtta   (runtime)   júze	
ǵe   keletu	ǵ,ın   hám   onıń   normal   jumıs   a	ǵ,ımın   buzıwı
kútilme	
ǵen   waqıya   yaki   qáte.   Exception   mexanizmi   dástúr	ǵe   tómende	ǵi
imkaniyatlardı beredi:
Qáte   júze	
ǵe   kel	ǵen   jay   menen   onı   sheshiw   kerek   bol	ǵ,an   jaydı   bir-birinen
ajıratıw.
Funkciyalar ierarxiyası boyınsha qáteni "joqarı	
ǵ,a" uzatıw.
Resurslar (yad, fayllar) menen isle	
ǵende qátelerden qáwipsiz shi	ǵip ketiw.
6 C++ tilinde qáte jaǵ,daylar menen islesiw úsh operator átirapında qurıladı: try,
throw hám catch.
try blo	
ǵı — bul qáte júze	ǵe keliui múmkin bol	ǵ,an kod bóle	ǵin óz ishine aladı.
Dástúr   bul   blok  ishine   kir	
ǵende,   ol   "baqlau   rejiminde"   isleydi.   E	ǵer   blok  ishinde
qanday  da bir  qáte  júz  berse,   dástúr  onı   dereu  toqtatadı   hám  sáykes   kel	
ǵen  catch
blo	
ǵın izlew	ǵe kirisedi.
Throw operatorı qáte júze	
ǵe kel	ǵenin hám onıń túrin dástúr	ǵe bildiriw ushın
paydalanıladı. Biz throw járdeminde hár qanday tipte	
ǵi obyektti (san, tekst yamasa
klaslar) "jiberiwimiz" múmkin. 
Mısalı:
catch blo	
ǵı (yamasa qátelerdi tutıuşı) try blo	ǵınan jiberil	ǵen obyektti qabıllap
aladı   hám   onı   qayta   isleydi.   Bir   try   blo	
ǵına   birneshe   túrli   qátelerdi   tutıu   ushın
birneshe catch blokların biriktiriu múmkin.
Exception júze	
ǵe kel	ǵende dástúr tómende	ǵi basqıshlardan ótedi:
Qáteni anıqlau: try blo	
ǵı ishinde qáte shárti tekseriledi.
Jiberiw   (Throwin	
ǵ):   throw   operatorı   orınlanadı   hám   dástúrdıń   sol   jerde	ǵi
jumısı toqtatıladı.
Yad   stee	
ǵin   ashu   (Stack   Unwindin	ǵ):   Bul   eń   áhmiyetli   basqısh.   Exception
jiberil	
ǵen   jerden   catch   blo	ǵına   deyin   bol	ǵ,an   aralıqta	ǵ,ı   barlıq   lokal   obyektlerdiń
destruktorları shaqırıladı. Bul yadtıń tazalanıuın támiyinleydi.
Tutıw   (Catchin	
ǵ):   Jiberil	ǵen   obyekt   tipine   sáykes   keletu	ǵ,ın   catch   blo	ǵı
tabıladı hám onıń ishinde	
ǵi kod orınlanadı.
Birneshe catch blokları hám ierarxiya tártibi
7 C++   dástúrshisi   hár   túrli   tipteǵi   qáteler   ushın   bólek-bólek   reaktsiya   beriui
múmkin.   Bunda   catch   bloklarınıń   dizilisi   úlken   áhmiyetke   iye.   Qáteler   "túbir"
klasstan   "tarmaq"   klaslar	
ǵ,a   qaray   emes,   bálki   arnawlıdan   ulıuma	ǵ,a   qaray
jaylastırılıuı kerek.
E	
ǵer biz eń birinshi bolıp barlıq qátelerdi tutatu	ǵ,ın ulıwma catch(...) (ellipsis)
operatorın   qoysaq,   onnan   keyin	
ǵi   arnawlı   catch   blokları   hesh   qashan   islemeydi.
Sebebi, dástúr qáteni birinshi bolıp "tájiriybe	
ǵe sáykes" kel	ǵen blokqa tapsıradı.
Mısal:
Exception mexanizminiń eń kúshli tárepi — bul qáteniń "joqarı	
ǵ,a" uzatılı w ı.
E	
ǵer   funksiya   ishinde   exception   júz   berse   hám   sol   funksiyanıń   ózinde   try-catch
blo
ǵı   bolmasa,   qáte   usı   funksiyanı   shaqır	ǵ,an   "ata"   funksiya	ǵ,a   ótedi.   Bul   protses
main()   funksiyasına   deyin   dawam   eti w i   múmkin.   E	
ǵer   hesh   jerde   qáte   tutılmasa,
standart std::terminate() funksiyası shaqırıladı hám dástúr kutilme	
ǵende toqtaydı.
Bul   usıl   dástúr   strukturasın   júdá   jetilisken   etedi:   biz   tómen	
ǵi   dárejede	ǵi
funksiyalarda   tek   qáteni   anıqlap   (throw),   onı   sheshiwdi   joqarı   dárejede
ǵi
(lo	
ǵikalıq) funksiyalar	ǵ,a qaldırı w ımız múmkin.
Teoriyalıq jaqtan exceptionlar dástúrdı bir a z a w ırlastıradı. Sebebi, dástúr hár
bir lokal obyekttiń stee
ǵin baqlap turı w ı hám qáte júz berse, olardıń destruktorların
8 qaysı tártipte shaqırı w dı bili w i kerek. Biraq, zamanaǵóy kompilyatorlar "Zero-cost
exception   handlin	
ǵ"   texnolo	ǵiyasın   paydalanadı.   Bunda   qáte   júz   berme	ǵen
ja	
ǵ,dayda  dástúr  ápiwayı  dástúr   menen  birdey  tezlikte isleydi.   Tek  qáte  júz berip,
exception   jiberil	
ǵen   (throw)   waqıtta  	ǵ,ana   dástúr   biraz   qosımsha   resurs   sarplaydı.
Usınıń   ushın   da   exceptionlardan   tek   "ayrıqsha",   "kutilme	
ǵen"   ja	ǵ,daylarda
paydalanıw   usınıs   etiledi,   al   hár   qanday   kishi   tekseriwler   ushın   if-else   durısıraq
bolıp tabıladı.
Processtiń mánisi:
Qáte   júze	
ǵe   kel	ǵen   funkciya   óz   jumısın   toqtatqanda,   sol   funkciya   ishinde
jaratıl	
ǵan barlıq lokal obyektler (stack-based objects) yadtı bánt etip tura bermeydi.
C++   sisteması   avtomatik   túrde   hár   bir   obyekt   ushın   destruktordı   shaqıradı.   Bul
pro	
ǵramma ushin júdá áhmiyetli, sebebi:
Yad ketiwiniń (memory leak) aldın aladı.
Ashiq   qal	
ǵan   fayllardı   yamasa   tarmaq   baylanısların   (network   sockets)   jabıw
imkaniyatın beredi.
1-mısal: Try-Catch hám Throw operatorlarınıń tiykarģı qollanılıwı.
#include <iostream>
#include <string>
using namespace std;
// Funksiya nollge boliudi tekseredi
double bolio(double a, double b) {
     if (b == 0) {
                throw "Qáte: Nollge bóliw múmkin emes!"; // Tekstli
exception jiberio
     }
     return a / b;
}
int main() {
     double x, y;
     cout << "Eki sandı kiritiń: ";
     cin >> x >> y;
     try {
9          double natiyje = bolio(x, y);
         cout << "Natiyje: " << natiyje << endl;
     } 
     catch (const char* qate_xabari) {
         // Jiberilgen tekstli qáteni usı jerde tutıp alamız
         cerr << "Exception tutıldı: " << qate_xabari << endl;
     }
     cout << "Programma jumısı dawam etpekte..." << endl;
     return 0;
}
Bul   kod   nollǵe   bóliw   qátesin   (division   by   zero)   exception   járdeminde   qalay
basqarıwdı kórsetedi.
Nátiyje:
2-mısal:   Bir neshe Catch blokların paydalanıw
#include <iostream>
using namespace std;
void testException(int tandoo) {
     if (tandoo == 1) throw 404;            // int tipinde
     if (tandoo == 2) throw 'E';            // char tipinde
     if (tandoo == 3) throw 5.5;            // double tipinde
}
int main() {
     for (int i = 1; i <= 3; i++) {
10          try {
             testException(i);
         } catch (int e) {
             cout << "Pútin sanlı qáte tutıldı. Kod: " << e <<
endl;
         } catch (char c) {
             cout << "Simvol qátesi tutıldı: " << c << endl;
         } catch (...) { 
             // Ellipsis - barlıq basqa tiplerdi tutıp aladı
             cout << "Basqa belgisiz qáte júz berdi." << endl;
         }
     }
     return 0;
}
Bul mısall  bir try bloǵı ishinde hár túrli tipte	ǵi (int, double, strin	ǵ) qátelerdi
tutıu tártibin kórsetedi.
Nátiyje:
3-mısal: Stack Unwindin	
ǵ (Destruktorlardıń shaqırılıwı).
#include <iostream>
using namespace std;
class TestObyekt {
public:
     TestObyekt() { cout << "Obyekt jaratıldı." << endl; }
        ~TestObyekt()   {   cout   <<   "Destruktor:   Obyekt   yaddan
óshirildi (Tazalandı)." << endl; }
};
void funksiyaB() {
     TestObyekt obj; // Lokal obyekt
     cout << "Funksiya ishinde qáte jiberilmekte..." << endl;
11      throw 100; // Exception jiberio
}
int main() {
     try {
         funksiyaB();
     } catch (int e) {
         cout << "Main ishinde qáte tutıldı: " << e << endl;
     }
     return 0;
}
Bul   kod   exception   júz   berǵen   momentte   lokal   obyektlerdiń   avtomatik   túrde
yadtan tazalanıwın dálilleydi.
Nátiyje:
4-mısal:   Standart Exception klasları (std::exception)
#include <iostream>
#include <vector>
#include <stdexcept> // Standart exceptionlar ushın
int main() {
     std::vector<int> sanlar = {10, 20, 30};
     try {
         // Vektordıń joq indeksi menen islesio
         std::cout << sanlar.at(5) << std::endl; 
     } 
     catch (const std::out_of_range& e) {
         // Standart out_of_range qátesin tutıo
12                 std::cerr   <<   "Shesgaradan   shıgLıu   qátesi:   "   <<
e.what() << std::endl;
     }
     return 0;
}
C++   standart   kitapxanasında	
ǵ,ı   tayar   qáte   klassların   (out_of_ran	ǵe)   qollanıw
mısalı.
Nátiyje:
5-misal: Paydalanıwshı tárepinen jaratıl	
ǵan arnawlı Exception klası.
#include <iostream>
#include <exception>
// Jeke qáte klası
class MeningQatem : public std::exception {
public:
     // what() metodın qayta jazıo
     const char* what() const noexcept override {
         return "Bul dástúrdiń arnawlı (custom) qátesi!";
     }
};
int main() {
     try {
         throw MeningQatem();
     } 
     catch (const MeningQatem& e) {
          std::cout << "Mening qátem tutıldı: " << e.what() <<
std::endl;
     } 
     catch (const std::exception& e) {
13                 std::cout   <<   "Ulıuma   qáte:   "   <<   e.what()   <<
std::endl;
     }
     return 0;
}
Ózińizdiń jeke qáte klasıńızdı jaratıw hám oni ierarxiya boyinsha basqarıw.
Nátiyje:
14 2 -§. Standart hám paydalanıwshı tárepinen jaratılǵan Exceptionlar
Zamana	
ǵóy   pro	ǵrammalastırıw   tilleriniń   ishinde   C++   tilinde   exception
mexanizmi   qáte   ja	
ǵ,dayların   basqarıwdıń   eń   tiykar	ǵ,ı   qurallarınan   biri   esaplanadi.
Exceptions   bul   pro	
ǵrammanıń   ádette	ǵidey   yemes   ja	ǵ,daylarda   islew   procesinde
payda   bolatu	
ǵ,ın   qátelerdi   anıqlaw,   olardı   basqarıw   hám   qayta   islew   ushın
qollanılatu	
ǵ,ın   arnawlı   mexanizm   bolıp   esaplanadi.   Ilimiy   ádebiyatlarda   (A.M.
Dosımbetov,   G.A.   Usnatdinova;   O.R.   Yusupov;   Sh.A.   Sadullayeva   hám   basqalar
miynetlerinde)  ayrıqshalar  tiykarınan  eki   túr	
ǵe  bólinedi:  standart   ayrıqshalar   hám
paydalanıwshı tárepinen jaratıl	
ǵ,an ayrıqshalar.
Standart ayrıqshalar  bul C++ tiliniń standart kitapxanasında aldınnan aniqlap
qoyil	
ǵan   qáte   jaģdaylardıń   klassları   bolip,   olar   pro	ǵrammalastırıwda   kóp
ushirasatuģın   qátelerdi   basqarıw   ushin   qollanıladı.   Bul   ayrıqshalar   <stdexcept>,
<exception>   kitapxanalarda   orın   al	
ǵ,an   bolıp,   olar   arqalı   pro	ǵrammanıń
isenimlili	
ǵin asırıw múmkin.
Standart ayrıqshalar arasında eń kóp qollanılatuģın túrler tómende	
ǵiler:
lo	
ǵic_error   ✓   lo	ǵikalıq   qátelerdi   bildiredi   (máselen,   naduris   kir	ǵiziw
ma	
ǵliwmatları).
runtime_error ↓ orınlaw waqtında payda bolatu	
ǵ,ın qáteler;
out_of_ran	
ǵe √ massiv yamasa konteyner she	ǵarasınan shı	ǵ,ıp ketiw;
invalid_ar	
ǵument  ✓  funkciya	ǵa beril	ǵen ar	ǵumenttiń naduris boliwi;
overflow_error    esaplawlarda artıqsha mánis payda bolıwı.
Bul ayrıqshalar standart túrde jaratıl	
ǵ,anı ushın, olardı qollanıw pro	ǵrammanıń
kodin standartqa sáykes, túsinikli hám qayta paydalanıw	
ǵ,a qolaylı etedi.
Mısalı retinde:
#include <iostream>
#include <stdexcept>
using namespace std;
int main() {
15      try {
         throw out_of_range("Indeks shegaradan tıs!");
     }
     catch (const out_of_range& e) {
         cout << "Qáte: " << e.what() << endl;
     }
}
Nátiyjesi:
Bul mısalda standart out_of_ranǵe exceptionsi qollanılıp, qáte haqqında tolıq
ma	
ǵ,lıwmat qaytarıladı.
Paydalanıwshı   tárepinen   jaratıl	
ǵan   ayrıqsha   jaģdaylar   ✓   bul   pro	ǵrammistin
ózi   tárepinen   arnawlı   qáte   jaģdaylar   ushin   jaratılatuģın   ayrıqsha   jaģday   klassları
bolıp, olar ádette	
ǵiden tis hám arnawlı mashqalalardı sheshiw ushin qollanıladı.
Bul   túrde	
ǵi   istisnalar,   ásirese,   quramalı   pro	ǵrammalıq   sistemalarda,   biznes
lo	
ǵikada   yamasa   arnawlı   al	ǵoritmlerde   payda   bolatu	ǵ,ın   qáteliklerdi   basqarıwda
úlken áhmiyetke iye.
Paydalanıwshı   exceptionların   jaratıw   ushın,   kóbinese   std::exception   klassınan   tuwındı
klass jaratıladı:
#include <iostream>
#include <exception>
using namespace std;
class MeninQatem : public exception {
public:
     const char* what() const noexcept override {
         return "Bul paydalanıwshı jaratqan qáte!";
     }
};
int main() {
16      try {
         throw MeninQatem();
     }
     catch (const exception& e) {
         cout << "Qáte: " << e.what() << endl;
     }
}
Nátiyjesi:
Bul mısalda:
Jańa exception klassı jaratıldı (MeninQatem) 
Ol std::exception klassınan tuwındı 
what() funksiyası qáte haqqında xabar qaytaradı
Standart hám paydalanıwshı exceptionlar arasında tómendegi ózgeshelikler bar:
Belǵiler Standart exceptionlar Paydalanıwshı exceptionlar
Jaratılıwı Kıt a bxanada aldınnan bar Pro	
ǵrammist jaratadı
Qollanıw tarawı Ul ı wma  qátelikler Arnawlı mashqalalar
Q o laylıq Tez qollanıladı Jaylas ı wsh ı
Basqarıw Standart Tolıq erkin
Bul   salıstırıw   kórsetkenindey,   standart   istisnalar   uliwma   jaģdaylar   ushin
qolaylı   bolsa,   paydalanıwshı   istisnaları   arnawlı   hám   quramalı   sistemalarda
áhmiyetli.
Joqarıda qaralıp ótil	
ǵen ma	ǵ,luwmatlar	ǵ,a súyenip, aytıw múmkin, C++ tilinde
exception   mexanizmi   pro	
ǵrammalastırıwdıń   ajıralmas   bóle	ǵi   bolıp,   ol
pro	
ǵrammanıń isenimlili	ǵin, turaqlılı	ǵ,ın hám qáwipsizli	ǵin támiyinleydi. Standart
istisnalar   pro	
ǵrammalastırıwdıń   ulıwma   qáteliklerin   tez   hám   túsinikli   túrde
17 basqarıwǵ,a   járdem   berse,   paydalanıwshı   tárepinen   jaratıl	ǵ,an   istisnalar   arnawlı
ja	
ǵ,daylarda joqarı dárejede basqarıw imkaniyatın beredi.
Sol sebepli, zamana	
ǵóy pro	ǵrammist ushın eki túrde	ǵi ayrıqsha jaģdaylardı da
tereń   úyreniw   hám   olardı   orınlı   qollanıw     professional   kónlikpeniń   tiykarı
esaplanadı.
C++   tilinde   exception   jiberil	
ǵende   (throw)   pro	ǵramma   ádette	ǵi   orınlaw
tártibinen   shı	
ǵ,ıp,   stack   unwindin	ǵ  dep   atalatu	ǵ,ın   process   baslanadı.   Bul   proceste
funkciyalar staģi boyinsha joqarı	
ǵ,a qarap ótiledi hám sol jerde sáykes catch blo	ǵi
izlenedi.
Ilimiy   ádebiyatlarda   (ásirese   Bjarne   Stroustrup   miynetinde)   bul   process
pro	
ǵrammanıń   isenimlili	ǵin   saqlaw   ushın   arnawlı   mexanizm   yekenli	ǵi   aytıladı.
Sebebi ol qáte ja	
ǵ,daylarda resurslardı durıs bosatıw	ǵ,a imkaniyat beredi.
Pro	
ǵrammalastırıw   ámeliyatında   exception   mexanizmin   nátiyjeli   qollanıw
ushın birneshe principler bar:
a) "Exception  ⇒  bul normal oqıw	
ǵ,a emes" principi.
Ayrıqsha   ja	
ǵ,daylar   tek  	ǵ,ana   kútilme	ǵen,   standart   emes   ja	ǵ,daylarda
qollanılıwı kerek. Mısalı, paydalanıwshı  qáte ma	
ǵ,lıwmat kir	ǵizse yamasa sistema
resursi jetispey atırsa.
b) Resurslardı basqarıw (RAII principi).
C++   tilinde   RAII   (Resource   Acquisition   Is   Initialization)   principi   boyinsha
resurslar   avtomat   túrde   basqarıladı.   Exception   payda   bol
ǵanda   da   obyekttiń
destruktorı shaqırılıp, yad, fayl yamasa basqa resurslar bosatıladı.
c) Qátelerdi lo	
ǵikalıq dárejelerde bóliw.
Úlken   sistemalarda   istisnalar   dárejeler   boyinsha   bólinip,   hárbir   dáreje   ózine
sáykes qátelikti basqaradi. Bul pro	
ǵrammanı modul	ǵe bóliwdi hám onı basqarıwdı
ańsatlastıradı.
Zamana	
ǵóy   C++   standartlarında   funkciyalar   qanday   ayrıqshalar   jiberiwi
múmkin   yekenli	
ǵi   anıq   kórsetilme	ǵen   halda   qaldırıladı.   Biraq   teorıya   boyınsha,
funkcıya interfeysi qanday qáteler bolıwı múmkin ekenli	
ǵin anıqlap beriwi kerek.
18 Bul jaǵ,day pro	ǵrammanı oqıwshı	ǵ,a túsinikli bolıwın támiyinleydi. 
Kóp   ja	
ǵ,daylarda   studentler   exception   mexanizmi   pro	ǵrammanıń   tezli	ǵin
tómenletedi   dep   oylaydı.   Biraq   ilimiy   derekler	
ǵe   kóre,   exceptionlar   tek   payda
bol	
ǵ,anda 	ǵ,ana qosımsha resurs talap etedi.
Ya	
ǵ,nıy,   normal   ja	ǵ,dayda   (exception   joq   bolsa)   olar   pro	ǵrammanıń
orınlanıwına   derlik   tásir   yetpeydi.   Sonıń   ushın   ayrıqsha   ja	
ǵ,daylardan   durıs
paydalanıw ónimdarlıqqa úlken zıyan keltirmeydi.
Ámeliy   pro	
ǵrammalastırıwda   eń   durıs   usıl     standart   hám   paydalanıwshı
istisnoların bir	
ǵelikte qollanıw:
Standart ayrıqshaları → uliwma qáteler ushın
Custom exceptionlar → arnawlı biznes lo	
ǵika ushın
Máselen:
out_of_ran	
ǵe → massiv she	ǵarası
Custom BankException → balans jetispewshili	
ǵi
Bul usıl pro	
ǵrammanı strukturalıq jaqtan turaqlı hám túsinikli jetedi.
Hár   bir   texnolo	
ǵiya   siyaqlı,   exception   mexanizminiń   de   ayrım   kemshilikleri
bar:
Kodtıń oqılıwı qıyınlawı múmkin (ásirese kóp catch bloklar bolsa) 
Qáte jerde uslanbasa – pro	
ǵramma toqtap qaladı 
Baslawshılar ushın túsiniw biraz qıyın 
Biraq usı kemshilikler dóris dizayn hám tajiriybe arqalı joýıladı.
Qosımsha ma	
ǵ,luwmatlar tiykarında aytıw múmkin, exception mexanizmi  bul
zamana	
ǵóy   pro	ǵrammalastırıwdıń   eń   áhmiyetli   elementlerinen   biri   bolıp,   ol
pro	
ǵrammalardı isenimli, beyimlesiwsheń hám qáwipsiz etiw	ǵe xızmet etedi.
Standart   hám   paydalanıwshı   ayırımlardı   jaratıwshı   kombinaciya   etiw,   RAII
principin qollanıw hám ayırımlardı lo	
ǵikalıq túrde basqarıw professional dárejede
pro	
ǵrammalastırıwdıń ajıralmas bóle	ǵi esaplanadi.
Sonıń menen bir	
ǵe, exception mexanizmin tereń túsiniw   tek teoriyalıq bilim
emes, al ámeliy tájiriybe menen bekkemleniwi kerek bol	
ǵ,an kónlikpe ekenli	ǵi de
anıqlandı.
19 C++   tilinde   ayrıqshalar   tek   tekst   yaki   san   emes,   al   obyekt   sipatında   da
jiberiliwi múmkin. Bul obyektke baǵ,darlan	ǵ,an pro	ǵrammalaw (OOP) principlerine
tolıq sáykes keledi.
Ádette,   paydalanıwshı   ayırımları   arnawlı   klass   sıpatında   jaratılıp,   olar
std::exception klassınan túrlendiriledi (inheritance). Bul bolsa, ayrıqshalar arasında
ierarxiya dúziw	
ǵe imkan beredi.
Bul usıldıń artıqmashlı	
ǵ,ı:
Qáte haqqında tolıqraq ma	
ǵ,lıwmat beriw
Kodtıń qayta qollanılıwın jeńillestiriw
Ulken sistemalarda xatoliklarni strukturaviy boshqarish
Ilimiy   dereklerde   (Sadullayeva,   Stroustrup   miynetlerinde)   bul   usil
professional pro	
ǵrammalastırıwdıń tiykar	ǵ,ı talaplarınıń biri sıpatında qaraladı.
Teoriyalıq hám ámeliy derekler	
ǵe súyenip, tómende	ǵi usınıslar beriledi:
Ayrıqshalardı tek kútilme	
ǵen ja	ǵ,daylarda qollanıw;
Hár bir taslaw ushın sáykes catch bolıwın támiyinleń;
Qáteni ilajı barınsha joqarı dárejede uslań;
Tekstli emes, klass tiykarında	
ǵ,ı exceptionlerden paydalanıń;
Resurslardı avtomatikalıq basqarıw mexanizmlerin qollanıń.
Qosimsha   ma	
ǵliwmatlar   tiykarında   aytiw   múmkin,   C++   tilinde	ǵi   exception
mexanizmi  bul tek ģana qáteliklerdi uslaw quralları emes, bálkim tolıq bir dizayn
filosofiyası bolip tabıladı.
Al pro	
ǵrammanı:
 isenimli
 turaqlı;
 keńeytiletu	
ǵ,ın;
 qáwipsiz;
 etip jaratıwda tiykar	
ǵ,ı rol oynaydı.
20 3-§. Qáte jaǵdaylardı basqarıwdıń qatallı	ǵı hám optimallastırıw
Qátelik   ja	
ǵ,dayların   basqarıwdıń   qatańlı	ǵ,ı   hám   optimallastırıw   máseleleri
zamana	
ǵóy   pro	ǵrammalastırıw   teoriyası   hám   ámeliyatında   eń   áhmiyetli
ba	
ǵ,darlardan biri bolıp esaplanadı. Pro	ǵrammalıq sistemalar quramalılasqan sayın,
olarda   payda   bolatu	
ǵ,ın   qátelerdi   anıqlaw,   olardıń   sebebin   túsiniw   hám   durıs
basqarıw   máseleleri   de   so	
ǵ,an   sáykes   túr	ǵe   iye   boladı.   Qáte   ja	ǵ,daylardı   basqarıw
bul tek 	
ǵ,ana texnikalıq ámeller jıyna	ǵ,ı emes, bálkim pro	ǵrammanıń arxitekturası,
lo	
ǵikası   hám   dizayn   principleri   menen   tikkeley   baylanıslı   bol	ǵ,an   kompleksli
process   esaplanadi.   Pro	
ǵrammalastırıw   procesinde   qáteliklerdi   basqarıw
mashqalası   oqıwshılardıń   lo
ǵikalıq   oylasıwın   rawajlandırıw   menen   bir   qatarda,
olardı   real   sistemalarda   islew	
ǵe   tayarlawdıń   da   tiykar	ǵ,ı   faktorlarınan   biri
esaplanadı.
Qáte ja	
ǵ,daylardı basqarıwdıń qatańlı	ǵ,ı bir neshe faktorlar menen bel	ǵilenedi.
Birinshiden, qátelerdiń túrleri hám olar payda bolatu	
ǵ,ın ja	ǵ,daylar álbette kóp qırlı
boladı.   Sintaksislik   qáteler   kompilyaciya   basqıshında   anıqlansa,   lo	
ǵikalıq   qáteler
tek   pro	
ǵrammanıń   islew   procesinde   bayqaladı,   runtime   qáteler   bolsa   kútilme	ǵen
ja	
ǵ,daylarda   payda   bolıp,   pro	ǵramma   jumısınıń   toqtap   qalıwına   sebep   bolıwı
múmkin.   Ekinshiden,   úlken   kólemde	
ǵi   pro	ǵrammalıq   sistemalarda   moduller
arasında	
ǵ,ı   baylanıslar   kúshli   bolıp,   bir   modulde	ǵi   qáte   basqa   moduller	ǵe  de   tásir
etedi. O.R. Yusupov hám avtorlardıń jumıslarında bul ja	
ǵ,daylar al	ǵoritmlew hám
pro	
ǵrammalastırıw   teoriyası   kózqarasınan   qaralıp,   qáteliklerdi   basqarıw   ushın
sistemalı qatnasta bolıw kerekli	
ǵi atap ótil	ǵen.
Qáte   ja	
ǵ,daylardı   basqarıwdıń   qatańlı	ǵ,ın   arttıratu	ǵ,ın   jáne   bir   faktor     bul
kútilme	
ǵen ja	ǵ,daylardıń aldın ala tolıq anıqlanbawı. Paydalanıwshı tárepinen qáte
ma	
ǵ,lıwmat   kir	ǵiziliwi,   sistema   resurslarınıń   jetispewshili	ǵi,   yadlawda   qátelikler
yamasa   tarmaq   baylanısınıń   úziliwi   sıyaqlı   ja	
ǵ,daylar   pro	ǵrammanıń   normal
islewine   keskin   tásir   etedi.   "C++   ta   pro	
ǵrammalastırıw"   miynetinde   usınday
ja	
ǵ,daylarda   exception   mexanizmin   qollanıw   arqalı   pro	ǵrammanıń   isenimlili	ǵin
saqlap   qalıw   múmkin   ekenli	
ǵi   kórsetiledi.   Biraq,   istisnalardıń   ózi   de   durıs
21 shólkemlestirilmese,   kodtıń   quramalasıwına   hám   oqılıwınıń   qıyınlasıwına   alıp
keliwi múmkin.
Qáte jaǵ,daylardı basqarıwdıń qatańlı	ǵ,ı sonday-aq qátelerdiń tarqalıwı menen
de   baylanıslı.   Bir   funkciyada   payda   bol	
ǵan   qáte   basqa   funkciyalar   arqalı   joqarı
dárejeler	
ǵe   ótedi   hám   sol   jerde   uslap   qalınıwı   kerek.   E	ǵer   bul   proces   durıs
basqarılmasa,   pro	
ǵramma   strukturası   buzılıp,   qada	ǵ,alaw   jo	ǵ,aladı.   Bjarne
Stroustrup   miynetinde   bul   process   "stack   unwindin	
ǵ"   arqalı   túsindiriledi   hám   ol
pro	
ǵrammanıń   isenimlili	ǵin   támiyinlewde   áhmiyetli   mexanizm   ekenli	ǵi   atap
ótiledi. Bul ja	
ǵ,day qáte ja	ǵ,daylardı basqarıw tek 	ǵ,ana lokal másele emes, al pútkil
sistema dárejesinde qaralıwı kerek ekenli	
ǵin kórsetedi.
Qáte   ja	
ǵ,daylardı   basqarıwdıń   qatańlı	ǵ,ın   kemeytiw   ushın   metodikalıq   hám
ámeliy   usıllar   qollanıladı.   Dosımbetov   hám   Usnatdinova   miynetlerinde   qátelerdi
klassifikaciyalaw, modullik dizayn qollanıw hám standart istisnolardan paydalanıw
usınıs etiledi. Bul usıllar  arqalı pro	
ǵrammanıń dúzilisi  túsinikli bolıp, qáteliklerdi
basqarıw   ańsatlasadı.   Sonday-aq,   paydalanıwshı   tárepinen   jaratıl	
ǵ,an   isklyuziyalar
arnawlı   ja	
ǵ,daylar   ushın   qollanılıp,   pro	ǵrammanıń   lo	ǵikasına   beyimlestiril	ǵen
sheshimlerdi ámel	
ǵe asırıw imkanın beredi.
Optimizciya   máselesi   qáte   ja	
ǵ,daylardı   basqarıwda   ayrıqsha   orın	ǵ,a   iye.
Optimizciyalaw   -   bul   qáteliklerdi   basqariwdiń   nátiyjelili	
ǵin   asırıw,   resurslardan
tejemli paydalanıw hám pro	
ǵrammanıń tez islewin támiyinlew procesi. C++ tilinde
exception   mexanizmi   normal   ja	
ǵ,dayda   pro	ǵrammanıń   orınlanıwına   derlik   tásir
etpeydi,   biraq   qáte   payda   bol	
ǵ,anda   qosımsha   resurslar   sarıplanadı.   Sonlıqtan
ayrıqsha   ja	
ǵ,daylardı   tek   kútilme	ǵen   ja	ǵ,daylarda   qollanıw   optimallastırıwdıń
tiykar	
ǵ,ı principleriniń biri bolıp tabıladı.
Optimallastırıwdıń   tiykar	
ǵ,ı   ba	ǵ,darlarınıń   biri     qátelerdi   aldın   ala   tekseriw.
Kóp   ja	
ǵ,dayda   simple   shárt   arqalı   qátelikti   aldınnan   anıqlap,   exception   jibermew
múmkin. Bul usıl pro	
ǵrammanıń tezli	ǵin saqlap qalıw	ǵ,a járdem beredi. Biraq bul
hár   dayım   múmkin   bola   bermeydi,   sebebi   kútilme	
ǵen   ja	ǵ,daylar   ushin   istisno
mexanizmi zárúr boladi. 
22 Resurslardı   basqarıw   da   optimallastırıwdıń   ajıralmas   bóleǵi   bolıp   tabıladı.
Exception   payda   bol	
ǵanda   yad,   fayl   yamasa   basqa   resurslar   bosatılmay   qalıwı
múmkin. Bul máseleni sheshiw ushın C++ tilinde RAII principi qollanıladı, ya	
ǵ,nıy
resurslar   obyekttiń   ómiri   menen   baylanıstırılıp,   avtomat   túrde   bosatıladı.
Stroustrup   miynetinde   bul   princip   exception   qáwipsiz   pro	
ǵrammalastırıwdıń
tiykarı sıpatında qaraladı.
Ulıwma al	
ǵ,anda, qáte  ja	ǵ,daylardı  basqarıwdıń  qatańlı	ǵ,ı  hám  optimallastırıw
bir-biri menen tı	
ǵ,ız baylanıslı bolıp, olar pro	ǵrammanıń uluwma sıpatına tikkeley
tásir jetedi. Qátelerdi durıs basqarmay turip, joqarı dárejeli pro	
ǵrammalıq sistema
jaratıw   múmkin   emes.   Sonıń   ushın   ilimiy   ádebiyatlarda   usı   máseleler	
ǵe   úlken
itibar berilip, olar pro	
ǵrammalastırıwdıń tiykar	ǵ,ı bóle	ǵi sıpatında qaraladı.
Qáte   ja	
ǵ,daylardı   basqarıwdıń   qatańlı	ǵ,ı   hám   optimallastırıw   máseleleri
boyınsha qosımsha tereń ma	
ǵ,lıwmatlar beriw ushın, bul processtiń teoriyalıq hám
ámeliy   tárepleriniń   jáne   de   keńirek   talqılanıwı   maqsetke   muwapıq   boladı.
Zamana	
ǵóy   pro	ǵrammalastırıw   sistemasında   qáte   ja	ǵ,daylar   tek   bir   orında   payda
bolıp   qalmay,   bálkim   olardıń   tarqalıwı,   qayta   islewi   hám   sistemanıń   basqa
bólimlerine tásiri arqalı kúshli strukturalıq mashqalalardı payda yetedi. Sonıń ushın
qáte   ja	
ǵ,daylardı   basqarıw   tek  	ǵ,ana   lokal   process   emes,   al  	ǵlobal,   ya	ǵ,nıy   pútin
sistema dárejesinde qaralıwı kerek bol	
ǵ,an másele esaplanadi.
Qáte   ja	
ǵ,daylardı   basqarıwdıń   qatańlı	ǵ,ın   tereńirek   úyren	ǵende,   onıń
semantikalıq   aspektleri   de   áhmietli   orın   tutadı.   Ya	
ǵ,nıy,   qáteniń   mánisin   durıs
anıqlaw, onıń qaysı kate	
ǵoriya	ǵ,a kiretu	ǵ,ının bel	ǵilew hám so	ǵ,an sáykes reakciya
bildiriw     bul   professional   pro	
ǵrammalastırıwda   eń   áhmietli   wazıypalardan   biri.
Kópshilik   ja	
ǵ,daylarda   qáteni   durıs   klassifikaciyalaw   bolmasa,   onı   basqarıw   da
qıyınlasadı. Mısalı, paydalanıwshı qátesi menen sistema qátesin bir qatarda qaraw
nátiyjesinde qáte sheshimler qabıl etiliwi múmkin. 
Qáte ja	
ǵ,daylardı basqarıwda informaciya jetkeriw (error reportin	ǵ) máseleleri
de ayrıqsha áhmietke ie. Pro	
ǵramma qáte haqqında paydalanıwshı	ǵ,a yamasa basqa
modul	
ǵe túsinikli   hám  anıq  ma	ǵ,luwmat   beriwi   kerek. E	ǵer   qáte  xabarı  túsiniksiz
bolsa,   onı   dúzetiw   qıyınlasadı.   Sol   sebepli   zamana	
ǵóy   pro	ǵrammalastırıwda
23 istisnolar arqalı tek ǵ,ana qáte fakti emes, bálki onıń sebebi, ja	ǵ,dayı hám konteksti
haqqında tolıq ma	
ǵ,luwmat beriw usınıs etiledi. 
Qáte   ja	
ǵ,daylardı   basqarıwdıń   qatańlı	ǵ,ı   sonday-aq   sistemanıń   keńeytil	ǵenli	ǵi
menen   baylanıslı.   Ya	
ǵ,nıy,   pro	ǵramma   úlken   bol	ǵ,an   sayın,   jańa   moduller
qosıl	
ǵ,anda   qáte   ja	ǵ,daylardı   basqarıw   sisteması   da   solar	ǵ,a   sáykes   túrde   óz	ǵeriwi
kerek.   E	
ǵer   basqarıw   mexanizmi   iyiliwsheń   bolmasa,   onda   hár   bir   jańa   modul
ushın kodtı qayta jazıw	
ǵ,a tuwra keledi. Bul bolsa waqıt hám resurslardıń artıqsha
jumsalıwına alıp keledi. Sonıń ushın modullik hám keńeytirile alatu	
ǵ,ın arxitektura
qáte ja	
ǵ,daylardı basqarıwda eń áhmietli talaplardan biri bolıp tabıladı.
Optimallastırıw   máselesinde   de   qosımsha   aspektler   bar.   Solardıń   biri     qáte
ja	
ǵ,daylardı   basqarıwdıń   balansın   tabıw.   Ya	ǵ,nıy,   bir   tárepten   qáteliklerdi   tolıq
qamtıp   alıw   kerek,   ekinshiden   bolsa   pro
ǵrammanı   artıqsha   quramalastırıp
jibermew   kerek.   Kóbinese   artıqsha   try-catch   bloklar   kodti   oqiw   hám   qollanıwdı
qıyınlastıradı.   Sonıń   ushın   optimallastırıwda   minimalizm   principi   áhmietli   orın
tutadı,   ya	
ǵ,nıy   tek   zárúr   orınlarda  	ǵ,ana   exception   mexanizmin   qollanıw   usınıs
etiledi.
Jáne  bir  áhmiyetli  ba	
ǵdar    qáte jaģdayların basqarıwda  standart  hám  custom
exceptionlerdi   úylestirip   qollanıw.   Standart   ayrıqshalar   uliwma   jaģdaylar   ushin
jeterli   bolsa,   arnawlı   mashqalalar   ushin   paydalanıwshı   tárepinen   jaratıl	
ǵan
ayrıqshalar   kerek   boladı.   Bul   eki   usıldıń   dórendi   kombinaciyası   pro	
ǵrammanıń
strukturalıq turaqlılı	
ǵ,ın hám oqiwshılı	ǵ,ın arttıradı. 
Qáte ja	
ǵ,daylardı optimallastırıwda profilaktika printsipi de áhmiyetli. Ya	ǵ,nıy,
qátelik payda bol	
ǵ,annan keyin emes, balkim onıń aldın ala alıw – eń jaqsı sheshim
esaplanadı. Bul ushın kiritiw ma	
ǵ,lıwmatların tekseriw, shártlerdi durıs qoyıw, hám
al	
ǵoritmni   jaqsı   oylap   shı	ǵ,ıw   kerek.   Sem	ákin   hám   basqa   avtorlar   al	ǵoritmlew
teoriyasında   bul   printsiptiń   ne	
ǵiz	ǵi   ornın   atap   ótip,   qáte   ja	ǵ,daylardıń   kóbin
al	
ǵoritm basqıshında-aq joý	ǵ,a bolatu	ǵ,ının kórsetedi.
Qáte   ja	
ǵ,daylardı   basqarıw   hám   optimallastırıw   máseleleri   sonday-aq
pro	
ǵrammanı   testlew   hám   verifikaciya   protsessleri   menen   baylanıslı.   Dúrıs
jazıl
ǵ,an   exception   mexanizmi   testlewdi   jeńillestiredi,   sebebi   qátelikler   anıq   hám
24 sistemalı   túrde   kórsetiledi.   Bul   bolsa   proǵrammanıń   sapasın   arttırıp,   onı   islep
shı	
ǵ,arıw dáwirin qısqartadı. Vasilyev  eńbe	ǵinde praktikalıq tapsırmalar  arqalı usı
aspektler keń túrde kórsetiledi.
Ulıwma al	
ǵ,anda, qáte  ja	ǵ,daylardı  basqarıwdıń  qatańlı	ǵ,ı  hám  optimallastırıw
bir-birinen   ajıralmas,   bir-birin   tolıqtıratu	
ǵ,ın   túsinikler   bolıp   tabıladı.   Qatańlıqtı
túsinip jetpey turıp, onı optimallastırıw múmkin emes. Al optimallastırıwsız bolsa,
qáte ja	
ǵ,daylardı basqarıw sisteması nátiyjesiz hám qıyın bolıp qaladı.
Keńeytil	
ǵen juwmaq sıpatında  aytıw múmkin, qáte ja	ǵ,daylardı  basqarıw bul
tek  	
ǵ,ana   texnikalıq   process   emes,   al   strate	ǵiyalıq   qatnastı   talap   etetu	ǵ,ın   kúshli
sistemalı   másele   bolıp   tabıladı.   Onıń   qatańlı	
ǵ,ın   tómenletip,   optimallastırıw
usılların   durıs   qollanıw   arqalı  	
ǵ,ana   joqarı   dárejeli,   isenimli   hám   zamana	ǵóy
talaplar	
ǵ,a juwap beretu	ǵ,ın pro	ǵrammalıq sistemalardı jaratıw múmkin boladı.
Qáte   ja	
ǵ,daylardı   basqarıwdıń   qatańlı	ǵ,ı   hám   optimallastırıw   máselelerin   jáne
de   tereńirek   qara	
ǵanda,   bul   túsiniklerdiń   tek  	ǵ,ana   pro	ǵrammalıq   kod   dárejesinde
emes,   al   pútkil   pro	
ǵrammalıq   injeneriya   (software   en	ǵineerin	ǵ)   sistemasında
strate	
ǵiyalıq   áhmiyetke   iye   ekenli	ǵin   kóriw   múmkin.   Zamana	ǵóy   informaciya
sistemaları   quramalı   arxitektura	
ǵa   iye   bol	ǵanlı	ǵ,ı   sebepli,   bir   qáte   jaģday   tek   bir
blokta sheklenbey, pútkil sistemanıń jumısına tarqalıp, birneshe moduldiń islewine
tásir etedi. Sonlıqtan qáte ja	
ǵ,daylardı basqarıw qatarlıq dárejede shólkemlestirilip,
hár bir qatarda (layer) ózine tán sheshim mexanizmi bolıwı kerek.
Qáte ja	
ǵ,daylardı basqarıwdıń qatańlı	ǵ,ı sonday-aq, "qáteniń qay jerde uslanıwı
kerek?" de	
ǵen soraw menen de tı	ǵ,ız baylanıslı. Kóp ja	ǵ,daylarda qáte payda bol	ǵ,an
jerde 	
ǵ,ana emes, al onıń tásir dárejesi joqarı bol	ǵ,an qatarda uslanıwı kerek boladı.
Bul   qatnas   "ekscepciya   tarqatıw   strate	
ǵiyası"   dep   ataladı.   E	ǵer   qáte   tómen	ǵi
dárejede durıs tallanıp, joqarı qatarda lo	
ǵikalıq sheshim  qabıl etilse, onda sistema
strukturası anıq hám turaqlı boladı. 
Qáte   ja	
ǵ,daylardı   basqarıw   qatańlı	ǵ,ınıń   jáne   bir   áhmiyetli   tárepi
standartlastırıw   (standardizaciya)   bolıp   yesaplanadi.   Zamana	
ǵóy   C++
sistemalarında  qáteliklerdi  bir  formatqa keltiriw, ya	
ǵ,nıy barlıq qáte  ja	ǵ,dayları  bir
qıylı   struktura	
ǵ,a   iye   bolıwı,   olardı   analizlewdi   ańsatlastıradı.   Mısalı,   standart
25 ayırımlar   (std::exception   ierarxiyası)   barlıq   tiykarǵ,ı   qátelerdi   qamtıp   alıp,   birdey
interfeys arqalı basqarıw imkanın beredi. Bul princip Bjarne Stroustrup miynetinde
C++ dizayniniń ajiralmas bóle	
ǵi sıpatında kórsetiledi.
Optimallastırıw   ja	
ǵ,dayında   bolsa,   qáte   ja	ǵ,daylardı   basqarıw   sisteması
artıqsha   júk   emes,   al   minimal   resurs   jumsaw   principine   súeniwi   kerek.   Ya	
ǵniy,
pro	
ǵrammanıń   90-95%   waqtında   qáte   joq   ja	ǵ,dayda   islewi   sebepli,   exception
mexanizmi "zero-cost abstraction" principine jaqın bolıwı kerek. Bul de	
ǵeni   qáte
bolma	
ǵ,an   ja	ǵ,dayda   exception   mexanizmi   pro	ǵrammanıń   tezli	ǵine   tásir   etpewi
kerek.   Biraq   qáte   payda   bol	
ǵ,anda   tolıq   analiz   hám   basqarıw   iske   qosıladı.   Bul
balans Stroustrup miynetlerinde ayrıqsha atan ótiledi.
Qáte   ja	
ǵ,daylardı   basqarıw   sistemasında   lo	ǵǵin	ǵ  (jazıp   barıw)   mexanizmi   de
optimallastırıwdıń áhmiyetli bóle	
ǵi  esaplanadı. Lo	ǵ fayllar arqalı  sistemada qaysi
ja	
ǵ,dayda   qáte   payda   bol	ǵ,anlı	ǵ,ı,   qaysı   modul   sebep   bol	ǵ,anlı	ǵ,ı   hám   qaysı   waqıtta
bol	
ǵ,anlı	ǵ,ı   anıq   bel	ǵilenedi.   Bul   dia	ǵnostika   procesin   jeńillestiredi   hám
pro	
ǵrammanı rawajlandırıwda áhmiyetli rol oynaydı. Yusupov hám basqa avtorlar
bul procesti pro	
ǵrammalastırıwdıń ámeliy analiz quralları sıpatında qaraydı.
Jáne   bir   áhmiyetli   aspekt     defensive   pro	
ǵrammin	ǵ	  (qor	ǵanıwshı
pro	
ǵrammalaw)   principi.   Bul   qatnas   boyinsha   pro	ǵrammist   hárbir   funkciyada
múmkin   bol	
ǵan   qátelerdi   aldınnan   oylap   tabadı   hám   olardıń   aldın   aladı.   Bul   usil
ayrıqshalıq   tayanıwdı   kemeyttirip,   pro	
ǵrammanıń   isenimlili	ǵin   asıradı.   Mısalı,
kir	
ǵiziw   ma	ǵ,luwmatların   tekseriw,   null   kórsetkishlerden   saqlanıw,   she	ǵara
shártlerin   durıs   qoyıw   bulardıń   barı   qor	
ǵ,anıwshı   pro	ǵrammalastırıw   elementleri
esaplanadi.
26 4-§. Exception mexanizmin joybarda qollanıw
Zamanaǵóy   ba	ǵdarlamalıq   injeneriyada   exception   mexanizmi   tek   teoriyalıq
túsinik bolip qalmastan, al real joybarlar (proektler) jaratıwda eń áhmiyetli iskerlik
qurallarınan biri esaplanadı. Úlken hám orta kólemde	
ǵi pro	ǵrammalıq sistemalarda
qáte   ja	
ǵ,daylar   kóp   payda   boladı,   sol   sebepli   olardı   durıs   basqarıw   joybardıń
isenimlili
ǵin,   turaqlılı	ǵ,ın   hám   sapasın   bel	ǵileydi.   Exception   mexanizmi   arqalı
pro	
ǵrammalastırıwshı pro	ǵrammanı kútilme	ǵen ja	ǵ,daylarda toqtatıp qoymay, qáte
haqqında anıq ma	
ǵ,luwmat alıw hám onı durıs basqarıw imkaniyatına iye boladı.
Joybarda   exception   mexanizmin   qollanıw   eń   dáslep   sistemanıń
arxitekturasına   baylanıslı   boladı.   Kóp   qatarlı   (kóp   qabatlı)   sistemalarda,   mısalı,
kórsetiw qabatı, biznes lo	
ǵikalıq qabatı hám ma	ǵ,luwmatlar	ǵ,a kiriw qabatı  sıyaqlı
bólimler   bar   boladı.   Hár   bir   qatarda   qáte   ja	
ǵ,daylar   payda   bolıwı   múmkin,   biraq
olardıń hámmesi birdey jerde sheshilmeydi. Tómen	
ǵi qatarda qáte anıqlanıp, joqarı
qatarlar	
ǵ,a   exception   arqalı   jetkeriledi,   al   eń   joqarı   qatarda   (interfeys   yamasa
tiykar	
ǵ,ı   modulde)   ol   qáte   uslanıp,   paydalanıwshı	ǵ,a   túsinikli   xabar   sıpatında
kórsetiledi.   Bul   qatnas   pro	
ǵrammanıń   modullik   hám   strukturalıq   turaqlılı	ǵ,ın
asıradı.
Exception   mexanizmin   joybarda   qollanıwdıń   eń   áhmiyetli   táreplerinen   biri
qáte   jaģdaylardı   standartlastırıw.   Ya	
ǵ,nıy,   hár   bir   modul   ózine   tán   qáte   túrin
jiberedi,   al   ol   qáteler   bir   ortaq   sistema   arqalı   basqarıladı.   Mısalı,   fayl   ashılmasa,
baza   baylanısı   úzilse   yamasa   paydalanıwshı   qáte   ma	
ǵ,lıwmat   kirisse   bulardıń
barlı	
ǵ,ı arnawlı istisnolar arqalı bel	ǵilenedi. Bul usıl pro	ǵrammanıń dia	ǵnostikasın
ańsatlastıradı hám qáte sebebin tez anıqlaw imkanın beredi.
Joyba   dizaynında   exception   mexanizmin   duris   qollanıw   ushın   "qáwiplerden
ajıralıw"   principi  áhmiyetli  orin  tutadi.  Bul   princip  boyinsha   qáte  jaģdaydı  uslaw
lo	
ǵikası   biznes   lo	ǵikasınan   ajıratılıwı   kerek.   Máselen,   yesaplaw   funkciyası   tek
esaplaw menen aylanısıwı kerek, al qáte uslaw hám onı paydalanıwshı	
ǵ,a jetkeriw
basqa   qatarda   ámel	
ǵe   asırıladi.   Bul   qatnas   kodtıń   oqılıwın   jaqsılaydı   hám   onıń
qayta qollanıw imkaniyatın arttıradı.
27 Exception   mexanizmin   joybarda   qollanıwda   jáne   bir   áhmiyetli   aspekt     error
propaǵation, ya	ǵniy qáteni joqarı qatarlar	ǵa jetkeriw procesi. E	ǵer tómen	ǵi qatarda
qáte tuwrı uslanbasa, ol avtomatik túrde joqarı qatarlar	
ǵa ótip ketedi. Sol jerde ol
qáte   tallanıp,   sistemanıń   ja	
ǵ,dayına   qarap   sheshim   qabıl   etiledi.   Bul   mexanizm
pro	
ǵrammanıń isenimlili	ǵin asıradı, sebebi  hár bir qáte jerde tolıq toqtap qalmay,
pútkil sistema dárejesinde basqarıladı.
Ámeliy   joybarlarda   exception   mexanizmin   optimallastırıwda   áhmiyetli   rol
oynaydı.   Kóp   try-catch   blokların   artıqsha   qollanıw   kodtı   kóriw   hám   oqıw	
ǵ,a
qıyınlastıradı.   Sonlıqtan   professional   pro	
ǵrammalastırıwda   exception   tek
kútilme	
ǵen   hám   kritik   jaģdaylarda   qollanıladı.   Qáteniń   kútil	ǵen   túrleri   bolsa
ádette	
ǵi   shárt   operatorları   arqalı   (if-else)   tekseriledi.   Bul   qatnas   pro	ǵrammanıń
nátiyjelili	
ǵin   saqlap   qalıw	ǵ,a   hám   resurslardan   únemli   paydalanıw	ǵ,a   imkaniyat
beredi.
Joybarda   exception   mexanizmin   qollanıwda   lo	
ǵǵin	ǵ  sisteması   da   úlken
áhmiyetke iye. Hár bir qáte ja	
ǵ,dayı lo	ǵ fayl	ǵ,a jazıp barıladı, so	ǵ,an qarap sistemada
qaysı   modulde qáte  bol	
ǵ,anlı	ǵ,ı  hám  onıń sebebi   anıq bel	ǵilenedi.  Bul   dia	ǵnostika
procesinde hám pro	
ǵrammanı jaqsılawda eń áhmiyetli qurallardan biri esaplanadi.
Lo	
ǵǵin	ǵ  hám   exception   mexanizmin   bir	ǵelikte   qollanıw   pro	ǵrammalıq   sıpatın
asırıwshı faktor sıpatında qaraladı.
Joyba   quralında   exception   mexanizmi   sonday-aq   testlew   (testin	
ǵ)   procesine
de úlken tásir  etedi. Qáte  ja	
ǵ,daylar  durıs  jiberilip hám  durıs  uslan	ǵ,anda,  avtomat
testler   arqalı   sistemanıń   isenimlili	
ǵi   tekseriledi.   Bul   QA   (Quality   Assurance)
procesinde  qáte   ja	
ǵ,daylardı  aldınnan   kóriw	ǵe  hám  olardı   saplastırıw	ǵ,a   imkaniyat
beredi.   Sadullayeva   hám   de   avtorlardıń   jumıslarında   C++   tilinde   testlew   hám
exception mexanizmin bir	
ǵelikte qollanıw ámeliy mısallar arqalı kórsetil	ǵen.
Zamana	
ǵóy   pro	ǵrammalastırıw   injeneriyasında   exception   mexanizmi
joybarda   (proektte)   qollanıw   -   bul   tek  	
ǵ,ana   qáte   jaģdaydı   uslaw   quralı   emes,   al
pútkil   sistema   isenimlili	
ǵin,   arxitekturalıq   turaqlılı	ǵ,ın   hám   pro	ǵrammalıq   sapasın
bel	
ǵileytuģın   strate	ǵiyalıq   jantasıw   bolip   esaplanadı.   Úlken   hám   orta   kólemde	ǵi
informaciya   sistemalarında   qátelerdiń   sanı   hám   quramalılı	
ǵ,ı   artqan   sayın,   olardı
28 durıs   basqarıw   mexanizmi   bolmasa,   joybar   isenimliliǵin   jo	ǵ,altadı   hám   qáwipli
ja	
ǵ,daylar payda boladı. Sonıń ushın exception mexanizmi C++ tilinde professional
joba jaratıwdıń ajıralmas bóle	
ǵi sıpatında qaraladı.
Joybarda exception mexanizmin qollanıwdıń eń áhmiyetli  principlerinen biri
qatarlıq (layered) arxitektura menen inte	
ǵraciya bolıp esaplanadi. Ásirese, kórsetiw
qatlamı,   biznes   lo	
ǵikalıq   qatlamı   hám   ma	ǵ,luwmatlar	ǵ,a   kiriw   qatlamı   sıyaqlı
bólimler   bar   sistemalarda   qáte   ja	
ǵ,dayları   hár   bir   qatarda   payda   bolıwı   múmkin,
biraq olardıń sheshimi bir jerde sheklenbeydi. Tómen	
ǵi qatarda payda bol	ǵan qáte
exception   arqalı   joqarı   qatarlar	
ǵa   jetkeriledi,   al   eń   joqarı   qatarda   ol   qáte
analizlenip, paydalanıwshı	
ǵ,a túsinikli formatta kórsetiledi yaki lo	ǵǵin	ǵ sistemasına
jazıladı.   Bul   qatnas   sistemanıń   modulli	
ǵin   saqlap,   qátelerdiń   tarqalıp   ketiwiniń
aldın aladı. 
Exception   mexanizmin   joybarda   qollanıwdıń   teoriyalıq   tiykarları.   Olarda
pro	
ǵrammalastırıw procesinde qáte ja	ǵ,dayların basqarıw tek 	ǵ,ana kod dárejesinde
emes,   bálkim   al	
ǵoritmlik   hám   dizayn   dárejesinde   qaralıwı   kerekli	ǵi   atap   ótil	ǵen.
O.R.   Yusupov   hám   basqa   avtorlar   bolsa   al	
ǵoritmlew   hám   pro	ǵrammalastırıw
tiykarlarında   qáte   ja	
ǵ,daylarınıń   túrlerin   klassifikaciyalaw   hám   olardı   basqarıw
usılların bayan jetedi. Bjarne Stroustrup miynetinde bolsa exception mexanizmi C+
+   tiliniń   fundamental   dizayn   elementlerinen   biri   ekenli	
ǵi   hám   ol   RAII   principi
menen bir	
ǵelikte sistemalıq turaqlılıq jaratıwı atap ótil	ǵen.
Exception   mexanizmin   joybarda   qollanıw   máselesi   zamana	
ǵóy
pro	
ǵrammalastırıw   injeneriyasında   tek  	ǵ,ana   qáte   ja	ǵ,dayların   uslaw   mexanizmi
emes,   bálki   pútin   bir   pro	
ǵrammalıq   arxitekturanı'ń   isenimlili	ǵin,   turaqlılı	ǵ,ın   hám
evolyucion rawajlanıw qábiletin bel	
ǵileytu	ǵ,ın strate	ǵiyalıq komponent esaplanadi.
Úlken   kólemde	
ǵi   joybarlar   (bank   sistemaları,   onlayn   platformalar,
avtomatlastırıl	
ǵan   basqarıw   sistemaları)   shártli   túrde   quramalı   qáteler   menen
isleydi,   sol   sebepli   exception   mexanizmi   bul   joybarlarda   kritik   áhmiyetke   iye
boladı.
Joybarda exception mexanizmin qollanıwdıń eń úlken óz	
ǵesheli	ǵi  bul qáteni
basqarıwdı   lo	
ǵikalıq   qatarlardan   ajıratıw   bolıp   tabıladı.   Pro	ǵrammalastırıw
29 ámeliyatında   kóbinese   biznes   loǵika   menen   qáte   basqarıw   lo	ǵikası   bir-birine
aralasıp   ketedi,   bul   bolsa   kodtıń   quramalılasıwına,   testlewdiń   qıyınlasıwına   hám
sistemanıń   isenimlili	
ǵiniń   tómenlewine   alıp   keledi.   Exception   mexanizmi   usı
mashqalanı sheshiw ushın "taza arxitektura" principine jaqın qatnas jasawdı usınıs
etedi,   ya	
ǵ,nıy   qáte   ja	ǵ,daylar   arnawlı   aralıq   qatarlarda   uslanıp,   biznes   lo	ǵikasınan
bólek qaraladı.
Joybarda   exception   mexanizmin   qollanıwdıń   jáne   bir   áhmiyetli   jaģdayı
qátelerdiń   ierarxiyalıq   tarqalıwı.   Kóp   qatarlı   sistemalarda   (presentation,   service,
repository qatarları) qáte payda bol	
ǵ,an orında tolıq sheshilmeydi, sebebi ol ja	ǵ,day
tek 	
ǵ,ana lokal emes, al 	ǵlobal áhmiyetke iye bolıwı múmkin. Sol sebepli exception
tómen	
ǵi qatardan joqarı qatarlar	ǵa ótip, en joqarı qatarda analizlenedi. Bul process
"exception   propa	
ǵation"   dep   ataladı   hám   ol   sistemanıń   turaqlılı	ǵ,ın   saqlawda
áhmietli   rol   oynaydı.   E	
ǵer   qáte   jerde   uslap   qalınıp,   duris   interpretaciya   islense,
joybar toqtamay jumısın dawam ettiredi.
Exception   mexanizmi   C++   tiliniń   fundamental   dizayn   principlerinen   biri
ekenli	
ǵi   atap   ótil	ǵen.   Ol   RAII   principi   menen   bir	ǵelikte   sistemanıń   resurs
qáwipsizli	
ǵin  támiyinleydi. Joybarda  exception  payda  bol	ǵan ja	ǵdayda  avtomatik
destruktorlar   shaqırılıp,   yad,   fayl   yaki   tarmaq   resursları   bosatıladı.   Bul   "resource
leak"   de	
ǵen   mashqalanıń   aldın   aladı.   Demek,   exception   mexanizmi   tek   qáte
basqarıw emes, al resurslardı avtomatik basqarıw mexanizmi menen de baylanıslı.
Joybarda   exception   mexanizmin   qollanıwdıń   ámeliy   artıqmashlıqları
qatarında kodtıń tazalı	
ǵ,ı hám modullik strukturası orın aladı. E	ǵer exception tuwrı
shólkemlestiril	
ǵen bolsa, funkciyalar tek óz wazıypasın orınlaydı hám artıqsha qáte
tekseriwler menen shı	
ǵ,arılmaydı. Bul kodtı oqiw, qollanıw hám keńeytiw procesin
jeńillestiredi. 
Biraq joybarda exception mexanizmin qollanıwdıń kemshilik tárepleri de bar.
Eń dáslep, artıqsha hám natuwrı qollanıw kodtı kúshli etedi. Kóp try-catch blokları
kodtıń   oqılıwın   qıyınlastıradı   hám   debu	
ǵ  procesin   qıyın   yetedi.   Ekinshiden,
exception mexanizmin joq jerde qollanıw ónimdarlıqqa tásir etiwi múmkin, álbette
30 tek   qáte   jaǵ,daylarda  	ǵ,ana.   Sonıń   ushın   professional   pro	ǵrammalastırıwda
exception tek kritikalıq hám kútilme	
ǵen ja	ǵ,daylarda qollanıladı.
Joybarda exception mexanizmin optimallastırıwdıń áhmiyetli ba	
ǵdarı  lo	ǵǵin	ǵ
hám monitorin	
ǵ sisteması menen inte	ǵraciya. Hár bir exception jaģdayı avtomatik
túrde   lo	
ǵ  faylģa   jazıp   barıladı.   Bul   sistema   administrator   yamasa   pro	ǵrammist
ushin   qáte   sebebin   anıqlawda   eń   áhmiyetli   qurallardan   biri   esaplanadı.   Lo	
ǵ
ma	
ǵliwmatlarında   waqit,   modul   atı,   qáte   túri,   stack   trace   sıyaqlı   detallar
kórsetiledi.   Bul   dia	
ǵnostikanı   ańsatlastıradı   hám   sistemanıń   rawajlanıwına   úlken
úles qosadı.
Joybarda  exception  mexanizmi  jáne  testlew  hám   tekseriw  processleri   menen
tı	
ǵ,ız   baylanıslı.   Unit   testler   hám   inte	ǵraciya   testleri   arqali   qáte   ja	ǵ,daylar   arnawlı
simulyaciya   etiledi.   Máselen,   fayl   ashılma	
ǵ,an   ja	ǵ,day,   nol	ǵe   bóliw,   yamasa
bazanı'ń   baylanısınıń   úziliwi   sıyaqlı   scenariyler   tekseriledi.   Bul   QA   procesinde
joybardıń sapasın  arttıradı hám real sistemada qáte payda boliw qáwpin azaytadı.
Sadullaeva   hám   de   avtorlar   miynetlerinde   bul   jantasıw   ámeliy   misallar   menen
túsindiriledi.
Sonday-aq, joybarda exception mexanizmi fail-fast principi menen bir	
ǵelikte
qollanıl	
ǵanda   en   nátiyjeli   boladı.   Bul   princip   boyınsha,   sistema   qáte   anıqlan	ǵ,an
ja	
ǵ,dayda   oni   jasırmay,   tez   arada   qáte   beredi   yaki   qada	ǵ,alawdı   toqtatadı.   Bul
dia	
ǵnostikanı   ańsatlastıradı   hám   qáte  tarqalıp   ketiwine  jol   qoymaydı.  Bul   princip
ásirese tarqatıl	
ǵan sistemalarda áhmiyetli rol oynaydı.
Joybarda   exception   mexanizmin   qollanıwdıń   jáne   bir   áhmiyetli   tárepi
úylestiril	
ǵen   qáteliklerdi   saplastırıw   strate	ǵiyası.   Ya	ǵ,nıy   hár   bir   modul   óz
qáteliklerin tuwrı jiberiw menen bir qatarda, basqa modullerden kel	
ǵen qáteliklerdi
tuwrı   interpretaciya   etiwi   kerek.   Bul   strate	
ǵiya   bolmasa,   sistemada   "qáte   qáte	ǵe
sebep   boladı"   de	
ǵen   quramalı   shınjır   payda   boladı.   Sonıń   ushın   professional
joybarlarda qáte basqarıw bir standartqa keltiril	
ǵen boladı.
Exception   mexanizmin   joybarda   qollanıw   máseleleri   zamana	
ǵóy
pro	
ǵrammalastırıw   injeneriyasında   tek  	ǵ,ana   qáte   ja	ǵ,dayların   basqarıw   quralları
emes,   bálkim   pro	
ǵrammalıq   sistema   isenimlili	ǵin   támiyinlewshi   kompleks
31 arxitekturalıq   mexanizm   sıpatında   qaraladı.   Kúshli   joybarlarda   qátelerdiń   payda
bolıwı óz-ózinen qaǵ,ıydalı process esaplanadı, sebebi ma	ǵ,lıwmatlar kólemi úlken,
moduller   arasında	
ǵ,ı   baylanıslar   kúshli   hám   sistemanıń   ishki   lo	ǵikası   kóp   qatarlı
boladı.   Sol   sebepli   exception   mexanizmi   bul   kúshli   ortalıqta   qáte   ja	
ǵ,daylardı
turaqlı hám standart túrde basqarıw imkaniyatın beredi.
Joybarda   exception   mexanizmin   qollanıwda   eń   áhmiyetli   ja	
ǵdaylardan   biri
qáte jaģdaylardıń standart modelin jaratıw bolip esaplanadı. Ya	
ǵ,nıy, barlıq qáteler
birdey   princip   boyınsha   jaratılıp,   birdey   formatta   jetkeriliwi   kerek.   Bul   qatnas
sistemada   "bir   qáte   bir   model"   principin   jaratadı   hám   dia
ǵnostika   procesin
ańsatlastıradı.   E	
ǵer   hár   bir   modul   ózine   tán   tárizde   qáte   jiberse,   sistema   analizi
qıyınlasadı   hám   qáte   sebebin   anıqlaw   waqıtı   artadı.   Sonlıqtan   professional
joybarlarda standart exception ierarxiyası qollanıladı.
Exception   mexanizmi   orında   qatarlı   kommunikaciya   modeli   menen   de   tı	
ǵ,ız
baylanıslı. Tómen	
ǵi qatarda payda bol	ǵan qáte joqarģi qatar	ǵa jetkenshe birneshe
modul   arqalı   ótip   baradı.   Bul   proceste   qáte   haqqında   qosımsha   kontekstlik
ma	
ǵ,lıwmatlar   qosılıp   barılıwı   múmkin.   Mısalı,   fayl   ashılma	ǵ,an   bolsa,   onıń   atı,
qatarı,   sistema   ja	
ǵ,dayı   sıyaqlı   ma	ǵ,luwmatlar   exception   ishinde   jetkeriledi.   Bul
dia	
ǵnostikanı joqarılatadı hám pro	ǵrammanıń rawajlanıwına ja	ǵ,day jaratadı.
Joybarda   exception   mexanizmin   qollanıwdıń   jáne   bir   innovaciyalıq   tárepi
centralized   error   handlin	
ǵ	  (ortashalasqan   qáteni   basqarıw)   bolip   esaplanadı.
Kóple	
ǵen   zamana	ǵóy   sistemalarda   qáteler   bir   ulıwma   qayta   islewshi   arqalı
uslanadı.   Bul   qayta   islewshi   barlıq   ayrıqshalar   ushın   "final   point"   wazıypasın
atqaradı.   Ol   qáteni   lo
ǵqa   jazadı,   paydalanıwshı	ǵ,a   xabar   beredi   yamasa   alternativ
sheshimdi   iske   qosadı.   Bul   qatnas   kodta   tákirarlanıwdı   azaytadı   hám   sistemanıń
strukturasın tazalaydı.
Exception   mexanizmi   C++   tiliniń   tiykar	
ǵ,ı   dizayn   principleri   menen   bir	ǵe
isleydi.   Bul   jerde   eń   áhmiyetli   túsinik     RAII   (Resource   Acquisition   Is
Initialization)   principi.   Bul   princip   boyinsha   resurslar   obyekttiń   ómiri   menen
baylanıstırıladı   hám   exception   payda   bol	
ǵanda   avtomatikalıq   bosatıladı.   Bul
32 memory   leak,   file   leak   sıyaqlı   mashqalalardıń   aldın   aladı   hám   sistemanıń
isenimliliǵin arttıradı.
Joybarda   exception   mexanizmin   qollanıwdıń   ámeliy   keńeytil	
ǵen   forması
hybrid   error   handlin	
ǵ  modeli   esaplanadı.   Bul   modelde   eki   usil   bir	ǵe   qollanıladı:
kútil	
ǵen qáteler if-else arqalı tekseriledi, kútilme	ǵen qáteler bolsa exception arqalı
basqarıladı.   Bul   kombinaciya   sistemanıń   ónimdarlı	
ǵ,ın   saqlap   qalıp,   bir   waqıttıń
ózinde   isenimlili	
ǵin   arttıradı.   Máselen,   paydalanıwshı   kir	ǵiziw   qáteli	ǵi   if   arqalı
tekserilse, málimleme bazası qáteli	
ǵi exception arqalı basqarıladi.
Joybarda   exception   mexanizmi   software   maintainability   (pro	
ǵrammanı
qollap-quwatlaw ańsatlı	
ǵ,ı) menen de tı	ǵ,ız baylanıslı. Qáte basqarıw dóretiwshilik
shólkemlestirilmese,   kodta   "spa	
ǵhetti   lo	ǵic"   payda   boladı,   ya	ǵ,nıy   hár   jerde   qáte
tekseriwler   aralasıp   ketedi.   Exception   mexanizmi   bul   mashqalanı   sheshiw	
ǵe
járdem berip, kodti strukturalıq hám tazalıq principinde saqlaydı.
Jáne bir áhmiyetli ja	
ǵday  security (qáwipsizlik) aspekti. Durıs basqarılma	ǵ,an
istisnalar   sistema   haqqında   artıqsha   ma	
ǵ,lıwmat   berip   qoyıwı   múmkin,   bul   bolsa
qáwipsizlik qáwiplerin payda etedi. Sol sebepli professional joybarlarda exception
xabarları filtrlenedi, paydalanıwshı	
ǵ,a tek kerekli ma	ǵ,lıwmat beriledi, al texnikalıq
detallar lo	
ǵ sistemasında saqlanadı.
Joybarda   exception   mexanizmin   optimallastırıwda   stack   unwindin	
ǵ  procesi
áhmiyetli   orin   tutadi.   Qáte   payda   bol	
ǵan   waqitta   funkciya   shaqırıw   shinjırı
avtomatikalıq tazalanadı, ya	
ǵniy barlıq lokal obyekt destruktorları shaqırıladı. Bul
process sistemanıń turaqlılı	
ǵ,ın saqlap qaladı hám resurslardı tolıq bosatadı.
Sonday-aq,   exception   mexanizmi   distributed   systems   (tarmaqlan	
ǵan
sistemalar)   ushin   da   áhmiyetli.   Bul   jerde   qáte   tek   lokal   emes,   al   serverler   aralıq
baylanısta da payda boladı. Sol sebepli exception mexanizmi remote error handlin
ǵ
penen bir	
ǵelikte qollanıladı hám retry, fallback sıyaqlı strate	ǵiyalar iske túsiriledi.
33 Juwmaqlaw
Bul   kurs   jumısında   "C++   tilinde   qáte   jaǵ,daylar   menen   islew   (exceptions)   "
teması teoriyalıq hám ámeliy jaqtan keń hám sistemalı túrde izertlendi. Zamana	
ǵóy
pro	
ǵrammalıq   sistemalarda   qáte   ja	ǵ,daylar   menen   islew   mashqalası   eń   áhmiyetli
hám   ajıralmas   bólimlerden   biri   esaplanadı,   sebebi   hár   qanday   quramalı   joybar
jumısında   kútilme	
ǵen   qáteler   payda   bolıwı   múmkin.   Usı   mashqalalardı   durıs
basqarıw   ba	
ǵ,darlamanıń   isenimlili	ǵin,   turaqlılı	ǵ,ın   hám   sapasın   bel	ǵileydi.   Sol
sebepli   C++   tilinde   exception   mexanizmi   bul   qátelerdi   professional   dárejede
basqarıw ushın jaratıl	
ǵ,an kúshli qural esaplanadi.  
Izertlew barisında C++ tilinde exception mexanizminiń tiykar	
ǵ,ı dúzilisi   try,
throw hám catch konstrukciyaları keń túrde túsindirip berildi. Try blo
ǵı qáte payda
bolıwı   múmkin   bol	
ǵ,an   kodlardı   óz   ishine   aladı,   throw   operatorı   qáte   ja	ǵ,daydı
jiberiw   ushın   xızmet   yetedi,   catch   blo	
ǵi   bolsa   sol   qátelikti   uslap   alıp,   onı   tuwrı
qayta   islewdi   ámel	
ǵe   asıradı.   Bul   úsh   elementtiń   bir	ǵelikte   islewi   pro	ǵrammanıń
qáteler	
ǵe bol	ǵ,an reakciya sistemasın jaratadı. 
Sonıń menen bir	
ǵe, standart ayırımlar hám paydalanıwshı tárepinen jaratıl	ǵ,an
ayırımlar   arasında	
ǵ,ı   óz	ǵeshelikler   hám   olardıń   qollanılıw   ja	ǵ,dayları   túsindirildi.
Stack   unwindin	
ǵ  mexanizmi   arqalı   qáte   payda   bol	ǵ,an   waqıtta   funkciya   shaqırıw
shinjiri   avtomatik   túrde   tazalanadı   hám   resurslar   (yad,   fayl,   obyekt)   jaratıp
bosatıladi.   Bul   pro	
ǵrammanıń   isenimlili	ǵin   arttıradı   hám   memory   leak   sıyaqlı
mashqalalardıń aldın aladı. 
Exception   propa	
ǵation   bolsa   qáte   ja	ǵ,daydıń   tómen	ǵi   qatardan   joqarı
qatarlar	
ǵ,a   jetkeriliwin   támiyinlep,   sistemalı   basqarıw   imkaniyatın   beredi.   RAII
principi   bolsa   resurslardıń   ómirlik   ciklin   obyekttiń   ómiri   menen   baylanıstırıp,
avtomatikalıq basqarıw mexanizmin jaratadı.   Sonday-aq, kurs jumısında exception
mexanizmin   joybarda   qollanıwdıń   áhmietli   tárepleri   keńnen   ashıp   berildi.   Kóp
qatarlı   (layered)   arxitekturalıq   sistemalarda   qáte   ja	
ǵ,daylar   hár   bir   qatarda   payda
bolıwı   múmkin,   biraq   olardıń   dóretiliw   basqarıwı   eń   joqarı   qatarda   ámel	
ǵe
asırıladi.   Bul   qatnas   kodtıń   modullılı	
ǵ,ın   asıradı,   qáteliklerdiń   tarqalıp   ketiwin
34 shekleydi   hám   sistemanıń   strukturasın   tazalaydı.   Loǵǵin	ǵ	  sisteması   menen
inte	
ǵraciya qátelerdi anıqlaw hám analizlew procesin ańsatlastıradı, al testlew (unit
testlew   hám   inte	
ǵraciya   testlew)   mexanizmi   pro	ǵrammanıń   isenimlili	ǵin
tekseriwde áhmiyetli rol oynaydı.  
Izertlewde   sonday-aq,   exception   mexanizminiń   optimallastırıw   ja	
ǵ,dayları   da
qaraldı.   Naduris   qollanıwda   exception   mexanizmi   pro	
ǵrammanıń   islewine   hám
kod   oqılıwına   keri   tásir   jetiwi   múmkin.   Sonıń   ushın   professional
pro	
ǵrammalastırıwda   exception   tek   kútilme	ǵen   hám   kritikalıq   ja	ǵ,daylarda
qollanılıp,   kútil	
ǵen   qáteler   if-else   konstrukciyaları   arqalı   tekseriledi.   Bul  	ǵibrid
qatnas sistemanıń tezli	
ǵin saqlap qaladı hám artıqsha overxedti azaytadı.
Kurs jumısında alın
ǵ,an áhmiyetli nátiyjelerden biri   exception mexanizminin
tek  	
ǵ,ana   qáte   basqarıw   quralı   emes,   bálkim   pútin   pro	ǵrammalıq   arxitekturanı'ń
ajıralmas   komponenti   ekenli	
ǵi   anıqlandı.   Ol   sistemanıń   isenimlili	ǵin   arttıradı,
resurslardı qáwipsiz basqaradı, kodtıń oqılıwın jaqsılaydı hám joybardıń keńeytiw
imkaniyatın   kóteredi.   Sonday-aq,   zamana	
ǵóy   C++   standartlarında   exception
mexanizmi   optimallastiriw   hám   qáwipsizlik   principleri   menen   bir	
ǵelikte
professional pro	
ǵrammalastırıwdıń tiykar	ǵ,ı talaplarına aylan	ǵ,an.
35 Paldalanılǵan ádebiyatlar
1. A.M.Dosımbetov,   G.A.Usnatdinova.   Dástúrlew.   Oqıw   qollanba.   Nókis:
«Metodist» baspaxanası, 2025. 181 b.
2. O.R.Yusupov,   F.F.Meliyev,   E.Sh.Eshonqulov.   Dasturlash   asoslari.   O‘quv
qo‘llanma. Samarqand: SamDU nashri, 2021. 280 b.
3. Sh.A.Sadullayeva,   A.Z.Maxmudov,   O.U.Mallayev,   A.X.Madraximov.   C++
da dasturlash. O‘quv qo‘llanma. Toshkent: TATU, 2017. 222 b.
4. Dosımbetov   A.M.,   Usnatdinova   G.A.   Pro	
ǵrammalastırıw   (1-bólim).
Metodikalıq qollanba. Nókis: “Nur Turan Print” baspaxanası, 2024.
5. Dosımbetov   A.M.,   Usnatdinova   G.A.   Pro
ǵrammalastırıw   (2-bólim).
Metodikalıq qollanba. Nókis: “Nur Turan Print” baspaxanası, 2025.
6. Рао, Сиддхартха. Освой самостоятельно С++ по одному часу в день, 8-е
изд.: Пер. с англ. –СпБ.: ООО “Альфа Книга”, 2017. – 752 с.: ил. – Парал. тит.
англ.
7. Семакин   И.   Г.   Основы   алгоритмизации   и   программирования.
Практикум: учеб. пособие для студ. учреждений сред. проф. образования / И.
Г.   Семакин,   А.   П.   Шестаков.   –   М.   Издательский   центр   “Академия”,   2013.   –
144 с.
8. Васильев   А.   Н.   Программирование   на   С++   в   примерах   и   задачах   /
Алексей Васильев. Москва: Издательство «Э», 2017. – 368 с.
9. Bjarne Stroustrup. Pro	
ǵrammin	ǵ: Principles and Practice usin	ǵ C++ (Second
Edition)" Addison-Wesley, 2014, 1305 pa	
ǵe.
36
Купить
  • Похожие документы

  • C++ da sikllar va interatsiya usullari.
  • Ózbekstan ǵárezsizlik jıllarında ámelge asırılǵan investiciyalıq joybarlar
  • Avtomaktab prava testlari javoblari bilan
  • Agros test
  • Strategik boshqaruvda kompyuter modellashtirish

Подтвердить покупку

Да Нет

© Copyright 2019-2026.

  • Инструкция по снятию с баланса
  • Контакты
  • Инструкция использования сайта
  • Инструкция загрузки документов
  • O'zbekcha