Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Problema con try y catch

Estas en el tema de Problema con try y catch en el foro de C/C++ en Foros del Web. Hola, de nuevo tengo un problema con el try y catch() este es mi codigo: try{ getimage(x1,y1,x2,y2,bitmap); } catch(...){ cout<<"blabla"; } me base en un ...
  #1 (permalink)  
Antiguo 17/07/2007, 19:49
Avatar de Nigthmare  
Fecha de Ingreso: diciembre-2006
Ubicación: /home/vsanchez
Mensajes: 38
Antigüedad: 18 años, 1 mes
Puntos: 0
Mensaje Problema con try y catch

Hola, de nuevo tengo un problema con el try y catch()

este es mi codigo:

try{
getimage(x1,y1,x2,y2,bitmap);
}
catch(...){
cout<<"blabla";
}

me base en un código que vi en C con clase pero marca error al momento de compilacion, los errores que marca son:
->Undefined symbol try
->Statement missing ;
->Identifier Clear cannot have a type qualifier
->Declaration missing
->Compound statement missing }


Pero comento lo de try y catch y todo bien.
A continuacion mi código completo:
#include <string.h>
#include <stdlib.h>
#include <softdata.h>
#include <iostream.h>
#include <graphics.h>

#define getch() cin.get();

//using namespace std;

class BUTTON{
private:
int x1;
int x2;
int y1;
int y2;
int color;
char rotulo[12];
void far *bitmap;
public:
//Constructor
BUTTON(int,int,int,int,int,char[]);
//Destructor
~BUTTON(void);
//metodos del objeto
void mouseOver(void);
int on_Clic(void);
int on_KeyPress(void);
void Draw(void);
void Clear(void);
};

inline BUTTON::BUTTON(int x1,int y1,int x2,int y2,int color,char rotulo[]){
this->x1=x1;
this->y1=y1;
this->x2=x2;
this->y2=y2;
this->color=color;
strcpy(this->rotulo,rotulo);
cout<<"Se creo\n";
}
BUTTON::~BUTTON(void){
cout<<"Se fue";
}

void BUTTON::mouseOver(void){
if(Mx>x1&&Mx<x2&&My>y1&&My<y2)
{
}
}


int BUTTON::on_Clic(void){
if(Mx>x1&&Mx<x2&&My>y1&&My<y2&&clic)
{
do{}while(clic);
return atoi(rotulo);
}
else
return 0;
}


int BUTTON::on_KeyPress(void){
return 0;
}

void BUTTON::Draw(void){
try{
getimage(x1,y1,x2,y2,bitmap);
}
catch(...){
cout"bla";
}
}

void BUTTON::Clear(void){
}

void main()
{
BUTTON *boton1,boton(1,1,2,2,15,"HOLA");
boton1=new BUTTON(1,1,2,2,15,"HOLA");

delete boton1;
getch();
}

Se aceptan todo tipo de sugerencias/criticas, la libreria softdata es una libreria mia :P

El codigo fue compilado de Borland C++
  #2 (permalink)  
Antiguo 18/07/2007, 06:49
Avatar de _Lucifer_  
Fecha de Ingreso: junio-2006
Mensajes: 1.662
Antigüedad: 18 años, 7 meses
Puntos: 28
Re: Problema con try y catch

A mi el BC++ 3.1 siempre me dio problemas con el try-catch, nunca supe como resolverlo y tampoco lo intenté, como sabía que no lo usaría más que para aprender, simplemente lo dejé así... tal vez tenga que ver con las opciones de compilación , pero te digo que siempre tuve problemas para compilar algunas cosas de C++.

Tal vez no sea de mucha ayuda, pero al menos ya sabes por donde buscar (opciones de compilación).

Saludos
__________________
Si crees que no tiene sentido, etonces probablemente lo tenga... :arriba:
  #3 (permalink)  
Antiguo 18/07/2007, 07:55
Avatar de Nigthmare  
Fecha de Ingreso: diciembre-2006
Ubicación: /home/vsanchez
Mensajes: 38
Antigüedad: 18 años, 1 mes
Puntos: 0
Problema con try y catch

Interesante...
Seguire desarrollando mi programa, mas adelante veré como solucionarlo, no quiero perder el tiempo.

Bueno gracias por el dato =P
  #4 (permalink)  
Antiguo 18/07/2007, 08:58
Avatar de _Lucifer_  
Fecha de Ingreso: junio-2006
Mensajes: 1.662
Antigüedad: 18 años, 7 meses
Puntos: 28
Re: Problema con try y catch

Cita:
Iniciado por Nigthmare Ver Mensaje
Interesante...
Seguire desarrollando mi programa, mas adelante veré como solucionarlo, no quiero perder el tiempo.

Bueno gracias por el dato =P
Es lo mejor que puedes hacer, realmente no se por que no lo hace como debería, pero supongo que no cumple exactamente con el estándar del C++.

Saludos
__________________
Si crees que no tiene sentido, etonces probablemente lo tenga... :arriba:
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:07.