Demostración de un relanzamiento de una excepción.
c:
#include <iostream>
using std::cout;
using std::endl;
#include <exception>
using std::exception;
void lanzaExcepcion()
{
// Lanza una excepción e inmediatamente la atrapa.
try {
cout << "Funcion lanzaExcepcion\n";
throw exception(); // genera una excepción
} // fin de try
catch( exception e )
{
cout << "Excepcion manipulada en la funcion lanzaExcepcion\n";
throw; // relanza la excepción para un posterior procesamiento
} // fin de catch
cout << "Esto tampoco debe imprimirse\n";
} // fin de la función lanzaExcepcion
int main()
{
try {
lanzaExcepcion();
cout << "Esto no debe imprimirse\n";
} // fin de try
catch ( exception e )
{
cout << "Excepcion manipulada en main\n";
} // fin de catch
cout << "El control del programa continua despues del catch en main"
<< endl;
return 0;
} // fin de la función main
using std::cout;
using std::endl;
#include <exception>
using std::exception;
void lanzaExcepcion()
{
// Lanza una excepción e inmediatamente la atrapa.
try {
cout << "Funcion lanzaExcepcion\n";
throw exception(); // genera una excepción
} // fin de try
catch( exception e )
{
cout << "Excepcion manipulada en la funcion lanzaExcepcion\n";
throw; // relanza la excepción para un posterior procesamiento
} // fin de catch
cout << "Esto tampoco debe imprimirse\n";
} // fin de la función lanzaExcepcion
int main()
{
try {
lanzaExcepcion();
cout << "Esto no debe imprimirse\n";
} // fin de try
catch ( exception e )
{
cout << "Excepcion manipulada en main\n";
} // fin de catch
cout << "El control del programa continua despues del catch en main"
<< endl;
return 0;
} // fin de la función main