412
Типтерді динамикалық түрде идентификациялауды қолдау үшін
кітапханада
type_info
класы («Типтерді түрлендіру» бөлімінде, 249 б.
қарастырылған), сондайақ
bad_cast
жəне
bad_typeid
ерекше жағдайлар
кластары анықталған.
Барлық
стандартты ерекше жағдайлар
тақырыптық фай-
лында сипатталған
exception
класының ұрпақтары болып табылады.
Диагностика құралдарының қатарына
программаның жұмысы барысын-
да туындайтын қателердің диагностикасын жүргізу үшін қолданылатын стан-
дартты кластар мен функциялар жатады. Барлық қателер программаны іске
қосудан бұрын табуға болатын
логикалық (
logic_error
) қателер мен орын-
далу уақытының қателері (
runtime_error
) болып бөлінеді. Кітапханада
ерекше жағдайлар кластарының қарапайым иерархиясы анықталған, ол про-
граммалаушы құратын ерекше жағдайларға негіз болуы тиіс.
16.1-сурет.
Стандартты ерекше жағдайлар кластарының иерархиясы
Төменде осы кластар қысқаша сипатталған:
□ bad_alloc
–
new
көмегімен жадыны динамикалыық бөлу кезінде
шығатын қателік;
□ bad_cast
–
dynamic_cast
операторын дұрыс қолданбау («Типтерді
түрлендіру» бөлімін, 249 б. қараңыз);
□ bad_typeid
–
typeid
операциясы операнд типін анықтай алмайды
(257 б.);