throw 1
throw 2
throw -1
Скажите, пожалуйста, что это может означать.
throw
бросает объект. throw 1
выбрасывает объект, если введите int
со значением 1. Я предполагаю, что читатель может экстраполировать, что означают два других.
Это механизм исключения. Брошенный объект может быть пойман:
try {
throw 1;
} catch (int e) {
std::cout << "an integer was thrown and caught. here is the value: " << e;
}
Я видел throw 1
в catch
блоке.
Бросок внутри обработчика исключений разрешен. Он имеет то же поведение, что и выброс вне обработчика.
всегда находил классический пример с объектом исключения или перебрасывал исключение без каких-либо аргументов.
Это случай выброса объект исключения.
Нет ограничений по типу объектов, которые могут быть выброшены. Стандартная библиотека следует соглашению о выбросе только классов, полученных из std::exception
. Рекомендуется следовать этому соглашению в пользовательских программах.