logo
volkov / C++ / Бьерн Страуструп-Справочное руководство по С++

R.15.6.2 Функция unexpected()

Если функция, имеющая спецификацию-особой-ситуации, запускает

неуказанную особую ситуацию, то вызывается функция

void unexpected();

Она в свою очередь вызывает функцию, которая была задана как

параметр при последнем обращении к set_unexpected():

typedef void(*PFV)();

PFV set_unexpected(PFV);

Функция, которая была задана в предыдущем вызове set_unexpected(),

будет возвращаемым значением текущего вызова. Это помогает

пользователю реализовать алгоритм восстановления стека. По умолчанию

unexpected() вызывает terminate(). Поскольку по умолчанию

terminate() вызывает abort(), результатом будет непосредственное

и точное обнаружение ошибки.