SoloCodigo

Programación General => C/C++ => Mensaje iniciado por: ElNapster en Martes 26 de Mayo de 2009, 07:03

Título: Uso del try catch
Publicado por: ElNapster en Martes 26 de Mayo de 2009, 07:03
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 !
Título: Re: Uso del try catch
Publicado por: Eternal Idol en Martes 26 de Mayo de 2009, 09:14
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 ...
Título: Re: Uso del try catch
Publicado por: ElNapster en Martes 26 de Mayo de 2009, 16:46
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 !
Título: Re: Uso del try catch
Publicado por: Eternal Idol en Martes 26 de Mayo de 2009, 17:27
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).
Título: Re: Uso del try catch
Publicado por: ElNapster en Miércoles 27 de Mayo de 2009, 06:17
Amigos, he probado lo que me dio eternal idol, pero me muestra el siguiente error:

(http://i597.photobucket.com/albums/tt54/elnapster/error.jpg)

Que podra ser ?

Muchas gracias por la asesoria !!
Título: Re: Uso del try catch
Publicado por: Eternal Idol en Miércoles 27 de Mayo de 2009, 08:12
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.
Título: Re: Uso del try catch
Publicado por: ElNapster en Miércoles 27 de Mayo de 2009, 16:47
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 !
Título: Re: Uso del try catch
Publicado por: Eternal Idol en Miércoles 27 de Mayo de 2009, 18:13
Ejecutalo desde afuera del IDE.
Título: Re: Uso del try catch
Publicado por: ElNapster en Miércoles 27 de Mayo de 2009, 18:22
:ouch:  ehhhh mmm y eso como se hace Etenal ?  :unsure:
Título: Re: Uso del try catch
Publicado por: Eternal Idol en Miércoles 27 de Mayo de 2009, 19:03
Y ... vos generas un ejecutable .exe, simplemente hacele doble click desde el Explorador de Windows por ejemplo.
Título: Re: Uso del try catch
Publicado por: ElNapster en Miércoles 27 de Mayo de 2009, 19:24
ok, lo pruebo y te cuento.. !  :beer: