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

que significa Excepción no controlada

Estas en el tema de que significa Excepción no controlada en el foro de C/C++ en Foros del Web. bueno, estoy haciendo pruebas con sdl y renderizado de texto, pero me sale le siguiente mensaje al correrlo: Excepción no controlada en 0x6f4c27f4 en sdltext.exe: ...
  #1 (permalink)  
Antiguo 31/10/2010, 13:28
 
Fecha de Ingreso: octubre-2010
Mensajes: 7
Antigüedad: 13 años, 6 meses
Puntos: 0
Pregunta que significa Excepción no controlada

bueno, estoy haciendo pruebas con sdl y renderizado de texto, pero me sale le siguiente mensaje al correrlo:

Excepción no controlada en 0x6f4c27f4 en sdltext.exe: 0xC0000005: Infracción de acceso al leer la ubicación 0x00000000

Estoy utilizando Visual Studio 2010 express edition,

el codigo es el siguiente:

#include<SDL.h>
#include<SDL_ttf.h>
SDL_Surface* screen=NULL;
SDL_Surface* text=NULL;
SDL_Surface* background=NULL;
TTF_Font *font=NULL;
SDL_Event action;
SDL_Color textcolor={255,255,255};
SDL_Rect rect;
int main(int argv,char *argc[])
{
rect.x=10;
rect.y=10;
rect.h=0;
rect.w=0;
bool run=true;
SDL_Init(SDL_INIT_VIDEO|SDL_INIT_TIMER);
screen=SDL_SetVideoMode(640,480,32,SDL_HWSURFACE);
TTF_Init();
font=TTF_OpenFont("impact.ttf",28);
text=TTF_RenderText_Solid(font,"hola mundo",textcolor);//el mensaje ocurre al llegar aqui
SDL_BlitSurface(text,NULL,screen,&rect);
SDL_Flip(screen);
while(run)
{
if(SDL_PollEvent(&action))
{
if(action.type==SDL_QUIT) run=false;
}
}
atexit(SDL_Quit);
return 0;
}

¿que me trata de decir el compilador con ese mensaje?
  #2 (permalink)  
Antiguo 31/10/2010, 17:16
 
Fecha de Ingreso: abril-2010
Ubicación: Rosario
Mensajes: 1.850
Antigüedad: 14 años
Puntos: 228
Respuesta: que significa Excepción no controlada

Pasa que la memoria 0x00000000 es inaccesible. Es lo que marca NULL. Tenes una variable en este caso es font, que nunca se carga el puntero qeuda valiendo NULL. Por lo que cuando la tratas de desreferenciar para acceder a sus valores falla porque estas accediendo a la memoria con direccion 0.

En pocas palabras imagino que tienes un error en esta linea;
font=TTF_OpenFont("impact.ttf",28);
a lo mejor no encuentra ese archivo de fuente. Revisa esas cosas.
  #3 (permalink)  
Antiguo 01/11/2010, 09:22
 
Fecha de Ingreso: octubre-2010
Mensajes: 7
Antigüedad: 13 años, 6 meses
Puntos: 0
Respuesta: que significa Excepción no controlada

ah ok gracias, pude correr el programa pero desde el ejecutable directamente y tube que colocar un archivo (la fuento o font) en el mismo directorio, pero cuando trato de depurar me sale ese el mismo problema.

Yo uso visual studio 2010 express edition ¿hay alguna forma de que no me salga ese error al depurar?
  #4 (permalink)  
Antiguo 01/11/2010, 09:38
 
Fecha de Ingreso: abril-2010
Ubicación: Rosario
Mensajes: 1.850
Antigüedad: 14 años
Puntos: 228
Respuesta: que significa Excepción no controlada

pone la fuente en la carpeta que te genera el depurador. Fijate donde te crea el ejecutable cuando pones compilar y ejecutar.
  #5 (permalink)  
Antiguo 01/11/2010, 10:38
 
Fecha de Ingreso: octubre-2010
Mensajes: 7
Antigüedad: 13 años, 6 meses
Puntos: 0
Respuesta: que significa Excepción no controlada

ah ok muchas gracias

Etiquetas: Ninguno
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 04:57.