12 из 210 вопросов — случайная выборка · Ответьте на все и узнайте свой результат
C++ · Object Lifecycle & Exceptions
В чём ключевое различие между throw; и throw e; при переброске перехваченного исключения e?
throw;
throw e;
e
throw; перебрасывает оригинальный объект исключения, сохраняя его тип, а throw e; может привести к усечению исключения, если e — это ссылка на базовый класс
throw; создаёт новую копию исключения, а throw e; перебрасывает оригинальное
throw; может перебросить только исключения типа std::exception, а throw e; работает для всех типов
std::exception
Нет практического различия; оба перебрасывают одно и то же исключение