Como lanzar mensajes de excepciones que yo quiera
Hola amigos disculpen el titulo del mensaje pero la cuestion es que he escrito en varios foros y nadie me da una se帽al de como hacer esto con excepciones
lo que sucede es que estoy haciendo una aplicacion en c++ builder6 con interfaz visual y necesito tratar las excepciones
por ejemplo debo entrar en un Campo de texto la edad de una persona y guardarla como un entero eso no tiene problemas si el usuario entra un numero pero si pone una letra explota el programa o sea el C++ builder lanza una excepcion pero no con el mensaje que yo quiero sino que lanza mas o menos este "EConvertError variable is not enter value" yo quiero mostrar un mensaje al usuario que yo desee para este tipo de excepciones pero no se como hacerlo, si alguien por favor puede darme una peque;a explicacion no tarden clegas que de veras lo necesito. Si hay que configurar algo en el Builder tambien diganmelo. Si tienen algun ejemplo ponganmelo en este foro.
lo que sucede es que estoy haciendo una aplicacion en c++ builder6 con interfaz visual y necesito tratar las excepciones
por ejemplo debo entrar en un Campo de texto la edad de una persona y guardarla como un entero eso no tiene problemas si el usuario entra un numero pero si pone una letra explota el programa o sea el C++ builder lanza una excepcion pero no con el mensaje que yo quiero sino que lanza mas o menos este "EConvertError variable is not enter value" yo quiero mostrar un mensaje al usuario que yo desee para este tipo de excepciones pero no se como hacerlo, si alguien por favor puede darme una peque;a explicacion no tarden clegas que de veras lo necesito. Si hay que configurar algo en el Builder tambien diganmelo. Si tienen algun ejemplo ponganmelo en este foro.
No soy un experto en programacion pero me ah funcionado, trabajo con el c++ builder 6. Prueba con la funcion siguiente para el manejo de excepciones:
try{
Codigo a ejecutar en tu programa
}
catch(ENoResultSet& E){
aqui puedes poner tu mensaje personalizado
}
aqui lo que se hace es que al clikear el lo que esta en try es lo que se ejecuta, en tu caso si escribes una letra no hace lo que esta en el try si no que se va al catch(), ahora fijate bien que tipo de excepcion te marca para que esa misma pongas dentro del catch.
Si corres tu programa desde el builder te marcara el error, prueba con el ejecutable de tu aplicacion.
Si no te funciona o no queda claro hay esta mi direccion de correo.
try{
Codigo a ejecutar en tu programa
}
catch(ENoResultSet& E){
aqui puedes poner tu mensaje personalizado
}
aqui lo que se hace es que al clikear el lo que esta en try es lo que se ejecuta, en tu caso si escribes una letra no hace lo que esta en el try si no que se va al catch(), ahora fijate bien que tipo de excepcion te marca para que esa misma pongas dentro del catch.
Si corres tu programa desde el builder te marcara el error, prueba con el ejecutable de tu aplicacion.
Si no te funciona o no queda claro hay esta mi direccion de correo.
No soy muy viejo programando en Builder C++,pero bueno esta es una sugerencia,es parecido a la respuesta anterior:
try{
//Codigo a ejecutar en tu programa
Ejemplo:
nombre = Edit1->Text();
}
catch(CError)
{
//Mensaje de error,puedes axiliarte del MessaggeBoxA,que te da varias opciones de ventanas de alerta,viendo a ver que entero te devuelve.
}
CError(),es una clase que debes declarar, como
class CError
Si tienes alguna duda escribeme al correo,ok
try{
//Codigo a ejecutar en tu programa
Ejemplo:
nombre = Edit1->Text();
}
catch(CError)
{
//Mensaje de error,puedes axiliarte del MessaggeBoxA,que te da varias opciones de ventanas de alerta,viendo a ver que entero te devuelve.
}
CError(),es una clase que debes declarar, como
class CError
Si tienes alguna duda escribeme al correo,ok
int Edad;
Edad=atoi(txtEdad->Text.c_str());
if(Edad==0 && txtEdad->Text!="0")
{
ShowMessage("Gilipollas");
}
else ... ejecuta el codigo que quiereas.
Si en la casilla de texto no se introdujo un 0 y esto es lo que se ha pasado a la variable Edad (un 0), significa que la unci贸n no se ejecuto y devolvio el parametro NULL( puedes poner Edad= 0 贸 Edad!= NULL, es lo mismo)
Que te aprobeche y a ver si nos estrujamos mas el coco.
Edad=atoi(txtEdad->Text.c_str());
if(Edad==0 && txtEdad->Text!="0")
{
ShowMessage("Gilipollas");
}
else ... ejecuta el codigo que quiereas.
Si en la casilla de texto no se introdujo un 0 y esto es lo que se ha pasado a la variable Edad (un 0), significa que la unci贸n no se ejecuto y devolvio el parametro NULL( puedes poner Edad= 0 贸 Edad!= NULL, es lo mismo)
Que te aprobeche y a ver si nos estrujamos mas el coco.
