Прежде всего (как напоминание), отключение исключений и RTTI — это специфичные для компилятора расширения, которые Стандарт не рассматривает.
Поскольку стандартная библиотека обычно привязана к компилятору, может случиться так, что ваша реализация стандартной библиотеки была специально разработана, чтобы справляться с этим (и, в частности, справляться с при этом new
возвращает нулевые указатели вместо повышения std::bad_alloc
).
Поэтому то, о чем вы просите, бессмысленно. Полный список смотрите в документации вашей собственной библиотеки.
При этом Стандарт действительно гарантирует, что ряд операций никогда не будет генерировать ошибки. Я не знаю ни одной операции, которая проглатывает исключения, я полагаю, что большинство из них на самом деле безопасно использовать как есть.
Например, все алгоритмы должны быть безопасными.
Тем не менее, еще раз, я могу только порекомендовать прочитать документацию по вашей реализации.
person
Matthieu M.
schedule
13.09.2011
std::vector.at(size_t)
, по сравнению с потоками и блокировками программы/среды. реализовав библиотеки потоков и блокировок, я могу сказать вам, что вы можете легко и предсказуемо защитить себя от первого. (продолжение) - person justin   schedule 13.09.2011