Si consideri il seguente codice C++:L'eccezione generata nel blocco di cattura verrà catturata da blocchi di blocco successivi?
try {
throw foo(1);
} catch (foo &err) {
throw bar(2);
} catch (bar &err) {
// Will throw of bar(2) be caught here?
}
mi aspetto la risposta è no, dato che non è all'interno del blocco try
e vedo in un'altra domanda la risposta è no per Java, ma vuole confermare C++ è anche no. Sì, posso eseguire un programma di test, ma mi piacerebbe conoscere la definizione della lingua del comportamento nel caso remoto che il mio compilatore ha un bug.
Dovrebbe migliorare la risposta che 'bar (2)' sarà preso in blocco cattura k nella funzione 'main()'. Ciò renderà la risposta più chiara. – zar