247
terminate
функциясы келісім бойынша программаның орындалуын
аяқтайтын
abort
функциясын шақырады.
set_terminate
функциясының
көмегімен
abort
функциясының
орнына шақырылып, программаны аяқтау
тəсілін анықтайтын өзіндік (меншікті) функцияны тағайындауға болады.
set_unexpected
жəне
set_terminate
функциялары
тақырыптық файлында сипатталған.
Конструкторлар мен деструкторлардағы аластамалар
C++ тілі конструктор мен деструктордан мəн қайтаруға жол бермейді.
Аластамалар механизмі объектінің конструкторында
немесе деструкторында
туындаған қателік туралы хабарлауға мүмкіндік береді. Осыны көрнекі түрде
көрсету үшін қажетті жады көлемі шектелетін
Vector
класын құрайық.
class Vector{
public:
class Size{}; // Аластама класы
enum {max = 32000}; // Вектордың максималды
// ұзындығы
Vector(int n) // Конструктор
{ if (n<0 || n>max) throw Size(); ... }
...
};
Vector
класын
қолдану кезінде
Size
типті аластамаларды айқындап
атқаруды алдын ала қарастыруға болады.
try{
Vector *p = new Vector(i);
0>
Достарыңызбен бөлісу: