Consideremos el siguiente código C++:¿La excepción lanzada en el bloque de catch será atrapada por bloques catch posteriores?
try {
throw foo(1);
} catch (foo &err) {
throw bar(2);
} catch (bar &err) {
// Will throw of bar(2) be caught here?
}
Yo esperaría que la respuesta es no, ya que no está dentro del bloque de try
y veo en otra pregunta la respuesta es no para Java, pero quiere confirmar C++ es también no. Sí, puedo ejecutar un programa de prueba, pero me gustaría saber la definición de lenguaje del comportamiento en el caso remoto de que mi compilador tenga un error.
debería mejorar la respuesta que 'barra (2)' se verá atrapado en el bloque de captura k en la función 'main()'. Esto hará que la respuesta sea más clara. – zar