• Viernes 26 de Abril de 2024, 20:32

Autor Tema:  Uso del try catch  (Leído 2380 veces)

ElNapster

  • Moderador
  • ******
  • Mensajes: 727
    • Ver Perfil
Uso del try catch
« en: Martes 26 de Mayo de 2009, 07:03 »
0
Hola amigos,

Quiero agregarle a un programita que estoy realizando el uso de excepciones en c++, pero busco y busco en la web y solo me dan ejemplo muy complicados (el uso de throw y me da errores al compilar) ustedes tendran una forma sencilla de ver un ejemplo con try y que me de error pero que lo capture el catch ?

muchas gracias amigos !
"Somos lo que imaginamos ser"
-- --------------------------------------------------------------
-ElNapster
-Designer / Developer Software
-GuaTemALa



Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: Uso del try catch
« Respuesta #1 en: Martes 26 de Mayo de 2009, 09:14 »
0
Aca tenes un ejemplo muy simple accediendo a un puntero nulo:

Código: C++
  1. #include <iostream>
  2. void main()
  3. {
  4.   try
  5.   {
  6.     char *nPtr = 0;
  7.     *nPtr = 0x666;
  8.   }
  9.   catch(...)
  10.   {
  11.     std::cout << "excepcion controlada" << std::endl;
  12.   }
  13.   std::cout << "sigue la ejecucion normal" << std::endl;
  14. }
  15.  

Sino te funciona el throw es probable que estes usando un compilador obsoleto ...

Nacional y Popular En mi país la bandera de Eva es inmortal.


Queremos una Argentina socialmente justa, económicamente libre y  políticamente soberana.
¡Perón cumple, Evita dignifica!


La mano invisible del mercado me robo la billetera.

ElNapster

  • Moderador
  • ******
  • Mensajes: 727
    • Ver Perfil
Re: Uso del try catch
« Respuesta #2 en: Martes 26 de Mayo de 2009, 16:46 »
0
Muchas gracias Eternal Idol , solo una pregunta para que sirver el throw ? es otra forma de usar las excepciones pero cual es su funcion ? y en mi compilador me da error de memoria :s .. estoy ustilizando c++ builder 6.0

Gracias por la ayuda !
"Somos lo que imaginamos ser"
-- --------------------------------------------------------------
-ElNapster
-Designer / Developer Software
-GuaTemALa



Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: Uso del try catch
« Respuesta #3 en: Martes 26 de Mayo de 2009, 17:27 »
0
throw como su nombre lo indica se usa para tirar una excepcion, es decir que cuando detectas una situacion excepcional podes lanzar una excepcion desde el codigo (yo no recomiendo su uso normalmente, casi siempre se pueden usar valores de retorno para esos casos).

Nacional y Popular En mi país la bandera de Eva es inmortal.


Queremos una Argentina socialmente justa, económicamente libre y  políticamente soberana.
¡Perón cumple, Evita dignifica!


La mano invisible del mercado me robo la billetera.

ElNapster

  • Moderador
  • ******
  • Mensajes: 727
    • Ver Perfil
Re: Uso del try catch
« Respuesta #4 en: Miércoles 27 de Mayo de 2009, 06:17 »
0
Amigos, he probado lo que me dio eternal idol, pero me muestra el siguiente error:



Que podra ser ?

Muchas gracias por la asesoria !!
"Somos lo que imaginamos ser"
-- --------------------------------------------------------------
-ElNapster
-Designer / Developer Software
-GuaTemALa



Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: Uso del try catch
« Respuesta #5 en: Miércoles 27 de Mayo de 2009, 08:12 »
0
Que lo estas depurando y el depurador captura la excepcion primero, fijate que pasa si le das a seguir, que hace el programa y tambien ejecutalo sin depurador y mira cual es el output.

Nacional y Popular En mi país la bandera de Eva es inmortal.


Queremos una Argentina socialmente justa, económicamente libre y  políticamente soberana.
¡Perón cumple, Evita dignifica!


La mano invisible del mercado me robo la billetera.

ElNapster

  • Moderador
  • ******
  • Mensajes: 727
    • Ver Perfil
Re: Uso del try catch
« Respuesta #6 en: Miércoles 27 de Mayo de 2009, 16:47 »
0
Hola Eternal, no, no lo estoy depurando, lo ejecuto y queda en esa linea, lo continuo pero ya no me hace nada, tengo que detener la operacion :(

Gracias amigo !
"Somos lo que imaginamos ser"
-- --------------------------------------------------------------
-ElNapster
-Designer / Developer Software
-GuaTemALa



Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: Uso del try catch
« Respuesta #7 en: Miércoles 27 de Mayo de 2009, 18:13 »
0
Ejecutalo desde afuera del IDE.

Nacional y Popular En mi país la bandera de Eva es inmortal.


Queremos una Argentina socialmente justa, económicamente libre y  políticamente soberana.
¡Perón cumple, Evita dignifica!


La mano invisible del mercado me robo la billetera.

ElNapster

  • Moderador
  • ******
  • Mensajes: 727
    • Ver Perfil
Re: Uso del try catch
« Respuesta #8 en: Miércoles 27 de Mayo de 2009, 18:22 »
0
:ouch:  ehhhh mmm y eso como se hace Etenal ?  :unsure:
"Somos lo que imaginamos ser"
-- --------------------------------------------------------------
-ElNapster
-Designer / Developer Software
-GuaTemALa



Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: Uso del try catch
« Respuesta #9 en: Miércoles 27 de Mayo de 2009, 19:03 »
0
Y ... vos generas un ejecutable .exe, simplemente hacele doble click desde el Explorador de Windows por ejemplo.

Nacional y Popular En mi país la bandera de Eva es inmortal.


Queremos una Argentina socialmente justa, económicamente libre y  políticamente soberana.
¡Perón cumple, Evita dignifica!


La mano invisible del mercado me robo la billetera.

ElNapster

  • Moderador
  • ******
  • Mensajes: 727
    • Ver Perfil
Re: Uso del try catch
« Respuesta #10 en: Miércoles 27 de Mayo de 2009, 19:24 »
0
ok, lo pruebo y te cuento.. !  :beer:
"Somos lo que imaginamos ser"
-- --------------------------------------------------------------
-ElNapster
-Designer / Developer Software
-GuaTemALa