Это супер базовый, но я не могу найти ответ нигде. Там много сообщений о метании и ловушке, но что на самом деле происходит, если я throw
от function1
, а затем вызывается function1
из function2
, но не поймать его, означает ли это, что он просто возвращается к вызывающий function2
? Судя по следующему, я бы сказал "да", но я хотел получить солидный ответ, подобный гуру, до того, как я воюю, и предположить:
#include <iostream>
void function1()
{
throw 1;
}
void function2()
{
function1();
}
int main()
{
try
{
function2();
}
catch(...)
{
std::cout << "caught!";
return 0;
}
return 0;
}
Output:
caught!