elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Ayuda, Programa C++ no atrapa ninguna excepción
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Ayuda, Programa C++ no atrapa ninguna excepción  (Leído 2,289 veces)
johnf9896

Desconectado Desconectado

Mensajes: 5


Ver Perfil
Ayuda, Programa C++ no atrapa ninguna excepción
« en: 19 Enero 2015, 04:45 am »

Estoy desarrollando un juego, bien una biblioteca para hacer juegos basada en SFML y un juego basado en esa biblioteca.

El problema es que cuando el programa lanza una excepción el programa se crashea aunque una bloques try con catchs que

pueden atrapar la excepción.

Incluso si hago esto
Código
  1. try{
  2. throw std::runtime_error("Error");
  3. }
  4. catch(std::exception &ex){
  5.  
  6. }
  7.  

o esto
Código
  1. try{
  2. throw std::exception();
  3. }
  4. catch(...){
  5. }
  6.  

el programa se crashea.

No entiendo porque sucede esto. Además, esto solo pasa en mi programa, cuando escribo los ejemplos de arriba en un simple

archivo .cpp y lo compilo, el programa atrapa las excepciones normalmente como de be ser.

Estoy usando Code::Blocks y Netbeans para escribir la biblioteca y el programa. Tengo proyectos en ambos IDEs.
Yo uso el compilador MinGW versión 4.8.1

Espero que alguien tenga alguna idea de porqué esto sucede y tenga alguna solución al problema.

Gracias por leer y responder.


En línea

ivancea96


Desconectado Desconectado

Mensajes: 3.412


ASMático


Ver Perfil WWW
Re: Ayuda, Programa C++ no atrapa ninguna excepción
« Respuesta #1 en: 19 Enero 2015, 14:24 pm »

Código
  1. #include <exception>
  2. #include <iostream>
  3.  
  4. using namespace std;
  5.  
  6. int main(){
  7.    try{
  8.        throw exception();
  9.    }catch(exception &e){
  10.        cout << "Error: " << e.what() << endl;
  11.    }
  12.    try{
  13.        throw 666;
  14.    }catch(int n){
  15.        cout << "Error: " << n << endl;
  16.    }
  17.    return 0;
  18. }
  19.  

Ese código, ¿Te muestra los mensajes?


En línea

johnf9896

Desconectado Desconectado

Mensajes: 5


Ver Perfil
Re: Ayuda, Programa C++ no atrapa ninguna excepción
« Respuesta #2 en: 19 Enero 2015, 14:30 pm »

En un .cpp aparte sí pero en mi programa no
En línea

ivancea96


Desconectado Desconectado

Mensajes: 3.412


ASMático


Ver Perfil WWW
Re: Ayuda, Programa C++ no atrapa ninguna excepción
« Respuesta #3 en: 19 Enero 2015, 16:08 pm »

Más detalles. ¿Cómo que "en un .cpp aparte" sí? ¿Qué tiene tu programa?
En línea

johnf9896

Desconectado Desconectado

Mensajes: 5


Ver Perfil
Re: Ayuda, Programa C++ no atrapa ninguna excepción
« Respuesta #4 en: 24 Enero 2015, 15:51 pm »

Me refiero a que si creo un nuevo .cpp y lo compilo con ese código, el código funciona pero pongo ese código en mi proyecto y lo compilo el programa no atrapa las excepciones y se crashea
En línea

johnf9896

Desconectado Desconectado

Mensajes: 5


Ver Perfil
Re: Ayuda, Programa C++ no atrapa ninguna excepción
« Respuesta #5 en: 24 Enero 2015, 22:19 pm »

Ya he solucionado el problema.

Tenía la idea de que lo que causaba ese problema era una opción que se pasaba al compilador.

Así que busqué en la página gcc.gnu.org la lista de todas las opciones que se podían pasar y leyendo encontré que si se quería pasar excepciones a travez de varias bibliotecas compartidas (dlls)  no debía usar en el linker la opción -static-libgcc ni -static-libstdc++ porque éstas bloqueaban las excepciones.

Así que solo quité las opciones del linker y listo asunto solucionado.

Gracias invancea96 por las respuestas.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
ayuda airodump-ng wlan0 no veo ninguna red
Wireless en Linux
lolobond 2 2,579 Último mensaje 21 Junio 2010, 16:54 pm
por frakc/kcdtv
[SOLUCIONADO] Ayuda con esta excepción! (my.settings)
.NET (C#, VB.NET, ASP)
Eleкtro 1 2,673 Último mensaje 18 Marzo 2013, 18:02 pm
por Eleкtro
Especialidades que atrapa la Red
Noticias
wolfbcn 0 1,314 Último mensaje 23 Septiembre 2013, 18:04 pm
por wolfbcn
Ayuda excepcion c#
.NET (C#, VB.NET, ASP)
Jeezy 6 3,944 Último mensaje 17 Abril 2018, 15:22 pm
por Serapis
pasar excepcion al debuggear programa
Ingeniería Inversa
truquinho 8 6,716 Último mensaje 4 Marzo 2023, 23:19 pm
por MCKSys Argentina
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines