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


throw түйінді сөзінен кейін көрсетілген объектінің типі  төмендегілердің біріне сəйкес келсе



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

throw
түйінді сөзінен кейін көрсетілген объектінің типі 
төмендегілердің біріне сəйкес келсе:
 

catch
параметрінде көрсетілген типпен бірдей болғанда (параметр
Т

const T

T&
немесе 
const
T&
түрінде жазылуы мүмкін, мұндағы 
Т
– 
аластаманың типі);

catch
параметрінде көрсетілген типтің туынды типі болған жағдайда
(егер мұралау 
public
қол жеткізу кілтімен жүзеге асырылса);

нұсқауыштарды түрлендірудің стандартты ережелері бойынша 
catch
параметріндегі нұсқауыш типіне түрлендірілуі мүмкін нұсқауыш бо-
лып табылған кездерде өңдеуіш табылған болып саналады.
Аталған ережелерге сəйкес, туынды кластардың өңдеуіштерін базалық 
класс өңдеуіштерінен бұрын орналастыру керек, өйткені бұған кері жағдайда 
басқару оларға еш уақытта берілмейді. 
void
типті нұсқауыштың өңдеуіші кез 
келген басқа типтің нұсқауышын автоматты түрде жасырады, сондықтан оны 
да нақты тип нұсқауыштарының өңдеуіштерінен кейін орналастыру қажет.
Мысал қарастырайық.
#include  
class Hello{
// Өзінің құрылғаны жəне жойылғаны туралы 
// хабарлайтын класс
public:
Hello(){cout << "Hello!" << endl;} 
~Hello(){cout << "Bye!" << endl;}
};
void f1(){
// Файл ашамыз 
ifstream ifs("\\INVALID\\FILE\\NAME"); 
if (!ifs){


244
cout << "Аластама генерациялаймыз" << endl; 
throw "Файл ашуда қате кетті";}
}
void f2(){
Hello H; // Жергілікті объект құрамыз
f1(); // Аластама генерациялайтын 


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




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

    Басты бет