Ver Mensaje Individual
  #2 (permalink)  
Antiguo 14/05/2010, 13:16
CalgaryCorpus
 
Fecha de Ingreso: junio-2008
Ubicación: Seattle, USA
Mensajes: 733
Antigüedad: 15 años, 10 meses
Puntos: 61
Respuesta: Volver al menú si hay un error.

En C++, una alternativa es usar excepciones..

El do-while modificarlo para que capture una excepcion y llame a la funcion error que ya tienes

Código C++:
Ver original
  1. do {
  2.   try {
  3.        // mostrar opciones de menu
  4.        // realizar accion asociada
  5.   }
  6.   catch( UnaExcepcion e )
  7.   {
  8.       error( e );  // ya existe.
  9.   }
  10. } while(1);

y en las funciones, en vez de invocar a error, arrojar una excepcion

Código C++:
Ver original
  1. if( condicion_mala ) {
  2.     // error("hubo un error" );   // no hacerlo, arrojar una excepcion como abajo
  3.     throw UnaExcepcion("Algo muy muy malo ocurrio");
  4. }

Para que todo compile y funcione "UnaExcepcion" la defines como una clase cuyo constructor tiene que calzar con la invocacion que decidas que mas te conviene, o bien derivas desde std:exception.