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


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



Pdf көрінісі
бет218/465
Дата09.01.2023
өлшемі3,66 Mb.
#60709
түріПрограмма
1   ...   214   215   216   217   218   219   220   221   ...   465
Байланысты:
аибм сплюс

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   ...   214   215   216   217   218   219   220   221   ...   465




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

    Басты бет