Duda sobre excepciones

04/08/2004 - 12:02 por Javier Ros | Informe spam
Hola,

En el trabajo, antes de programar en C#, programabamos en Delphi, y hay
algo que me
llama mucho la atención sobre las excepciones:

Si en un formulario ponemos un boton y en el evento Click del mismo
ejecutamos un
código que lanza una excepción, sea por lo que sea, la aplicación entera se
cierra despues
de mostrar la ventana de excepción.
Esto en delphi no pasaba, en la misma situación la aplicación Delphi,
mostraba la excepción,
pero la ejecución del programa seguia, no se cerraba ni siquiera el
formulario.

He pensado que quizas el comportamiento normal en windows es el de C# pero
tambien
he programado mucho en Visual C++ (Win32) a pelo, sin MFC ni nada, partiendo
de void main(void),
y cuando habia una excepción no se cerraba la aplicacición.

Alguien puede aclararme las ideas?

Gracias.

Javier Ros Moreno

Preguntas similare

Leer las respuestas

#1 Jose Alfredo
04/08/2004 - 13:23 | Informe spam
Hola!

Prueba colocando la excepción en el bloque Catch
ej

try
{.

}
catch Exception e
{
TexBoxError.Text = ex.Message; //esto no es necesario pero conveniente
}

Veras que puedes seguir trabajando, realmente c# se bloquea cuando existe
una excepción NO manejada, si tu la manejas la cosa sigue. A popo yo tambien
vengo de delphi y ahí también algunas cosas por las cuales suspiro.

Jose Alfredo


"Javier Ros" $PAMHEREemuasa.es> schrieb im Newsbeitrag
news:
Hola,

En el trabajo, antes de programar en C#, programabamos en Delphi, y hay
algo que me
llama mucho la atención sobre las excepciones:

Si en un formulario ponemos un boton y en el evento Click del mismo
ejecutamos un
código que lanza una excepción, sea por lo que sea, la aplicación entera


se
cierra despues
de mostrar la ventana de excepción.
Esto en delphi no pasaba, en la misma situación la aplicación Delphi,
mostraba la excepción,
pero la ejecución del programa seguia, no se cerraba ni siquiera el
formulario.

He pensado que quizas el comportamiento normal en windows es el de C#


pero
tambien
he programado mucho en Visual C++ (Win32) a pelo, sin MFC ni nada,


partiendo
de void main(void),
y cuando habia una excepción no se cerraba la aplicacición.

Alguien puede aclararme las ideas?

Gracias.

Javier Ros Moreno


Respuesta Responder a este mensaje
#2 Javier Ros
04/08/2004 - 13:44 | Informe spam
Si, claro, pero ... NO! :)
no estaba en mis planes poner un bloque try ... catch en cada pulsación de
un boton :)
es algo que debería poder activarse en algun sitio, a nivel del Application
o el Form, no se,
al igual que me fascinan algunas cosas de .NET, esto es de lo peor que
tiene, y la verdad
repugna.

Gracias.


"Jose Alfredo" escribió en el mensaje
news:
Hola!

Prueba colocando la excepción en el bloque Catch
ej

try
{.

}
catch Exception e
{
TexBoxError.Text = ex.Message; //esto no es necesario pero


conveniente
}

Veras que puedes seguir trabajando, realmente c# se bloquea cuando existe
una excepción NO manejada, si tu la manejas la cosa sigue. A popo yo


tambien
vengo de delphi y ahí también algunas cosas por las cuales suspiro.

Jose Alfredo


"Javier Ros" $PAMHEREemuasa.es> schrieb im Newsbeitrag
news:
> Hola,
>
> En el trabajo, antes de programar en C#, programabamos en Delphi, y


hay
> algo que me
> llama mucho la atención sobre las excepciones:
>
> Si en un formulario ponemos un boton y en el evento Click del mismo
> ejecutamos un
> código que lanza una excepción, sea por lo que sea, la aplicación entera
se
> cierra despues
> de mostrar la ventana de excepción.
> Esto en delphi no pasaba, en la misma situación la aplicación Delphi,
> mostraba la excepción,
> pero la ejecución del programa seguia, no se cerraba ni siquiera el
> formulario.
>
> He pensado que quizas el comportamiento normal en windows es el de C#
pero
> tambien
> he programado mucho en Visual C++ (Win32) a pelo, sin MFC ni nada,
partiendo
> de void main(void),
> y cuando habia una excepción no se cerraba la aplicacición.
>
> Alguien puede aclararme las ideas?
>
> Gracias.
>
> Javier Ros Moreno
>
>


Respuesta Responder a este mensaje
#3 Jose Alfredo
04/08/2004 - 14:53 | Informe spam
Hola!

Es una aplicación windows o ASPNET?

Si es ASPNET hay un evento en el Global.asax (error algo) que te puede
ayudar

Si es Windows, a lo mejor un bloque try catch en la rutina main te salva (yo
no lo he probado, pero lo que te saca de la aplicación es una excepción no
atendida)

Espero que te sirva, como decimos nosotros "con estos bueyes hay que arar"

Jose Alfredo
Bad Honef
RFA



"Javier Ros" $PAMHEREemuasa.es> schrieb im Newsbeitrag
news:
Si, claro, pero ... NO! :)
no estaba en mis planes poner un bloque try ... catch en cada pulsación de
un boton :)
es algo que debería poder activarse en algun sitio, a nivel del


Application
o el Form, no se,
al igual que me fascinan algunas cosas de .NET, esto es de lo peor que
tiene, y la verdad
repugna.

Gracias.


"Jose Alfredo" escribió en el mensaje
news:
> Hola!
>
> Prueba colocando la excepción en el bloque Catch
> ej
>
> try
> {.
>
> }
> catch Exception e
> {
> TexBoxError.Text = ex.Message; //esto no es necesario pero
conveniente
> }
>
> Veras que puedes seguir trabajando, realmente c# se bloquea cuando


existe
> una excepción NO manejada, si tu la manejas la cosa sigue. A popo yo
tambien
> vengo de delphi y ahí también algunas cosas por las cuales suspiro.
>
> Jose Alfredo
>
>
> "Javier Ros" $PAMHEREemuasa.es> schrieb im Newsbeitrag
> news:
> > Hola,
> >
> > En el trabajo, antes de programar en C#, programabamos en Delphi, y
hay
> > algo que me
> > llama mucho la atención sobre las excepciones:
> >
> > Si en un formulario ponemos un boton y en el evento Click del mismo
> > ejecutamos un
> > código que lanza una excepción, sea por lo que sea, la aplicación


entera
> se
> > cierra despues
> > de mostrar la ventana de excepción.
> > Esto en delphi no pasaba, en la misma situación la aplicación


Delphi,
> > mostraba la excepción,
> > pero la ejecución del programa seguia, no se cerraba ni siquiera el
> > formulario.
> >
> > He pensado que quizas el comportamiento normal en windows es el de


C#
> pero
> > tambien
> > he programado mucho en Visual C++ (Win32) a pelo, sin MFC ni nada,
> partiendo
> > de void main(void),
> > y cuando habia una excepción no se cerraba la aplicacición.
> >
> > Alguien puede aclararme las ideas?
> >
> > Gracias.
> >
> > Javier Ros Moreno
> >
> >
>
>


Respuesta Responder a este mensaje
#4 pablo crosio
04/08/2004 - 16:40 | Informe spam
hola!

pues en los productos de ms el concepto de una excepcion
se manejo asi siempre. no conozco delphi pero incluso en
VC es asi. el tema es que las excepciones estan mas
emparentadas con el manejo de clases.

en este ejemplo de vc++

#include <afx.h>
#include <iostream.h>

void main()
{
CFile f("c:\\autoexxxxxxxxxxxec.bat", CFile::modeRead);
cout << "ok!" << endl;
}

si no existe el archivo el codigo aborta pues el
constructor de CFile lanza una excepcion de tipo
CFileException, nunca se llega al cout <<

en C# se sigue con esta metodologia si no se
interceptan las excepciones con try - catch, el codigo
aborta...

salu2!!

pablo


Hola,

En el trabajo, antes de programar en C#, programabamos


en Delphi, y hay
algo que me
llama mucho la atención sobre las excepciones:

Si en un formulario ponemos un boton y en el evento


Click del mismo
ejecutamos un
código que lanza una excepción, sea por lo que sea, la


aplicación entera se
cierra despues
de mostrar la ventana de excepción.
Esto en delphi no pasaba, en la misma situación la


aplicación Delphi,
mostraba la excepción,
pero la ejecución del programa seguia, no se cerraba ni


siquiera el
formulario.

He pensado que quizas el comportamiento normal en


windows es el de C# pero
tambien
he programado mucho en Visual C++ (Win32) a pelo, sin MFC


ni nada, partiendo
de void main(void),
y cuando habia una excepción no se cerraba la


aplicacición.

Alguien puede aclararme las ideas?

Gracias.

Javier Ros Moreno


.

Respuesta Responder a este mensaje
#5 Pedro Luna Montalvo \(MVP\)
04/08/2004 - 17:05 | Informe spam
Bueno, en realidad imagino que estas probando la version "Debug" de tu
programa.

Si lo compilas en modo Release y se produce una excepcion, aparece una
ventana que muestra la informacion de la misma, y pregunta al usuario si
desea continuar o finalizar la aplicacion.

Si decide continuar...pues no pasa nada. :)

Saludos
Pedro Luna, MVP
Gye, Ecu

"Javier Ros" $PAMHEREemuasa.es> escribió en el mensaje
news:
Hola,

En el trabajo, antes de programar en C#, programabamos en Delphi, y hay
algo que me
llama mucho la atención sobre las excepciones:

Si en un formulario ponemos un boton y en el evento Click del mismo
ejecutamos un
código que lanza una excepción, sea por lo que sea, la aplicación entera


se
cierra despues
de mostrar la ventana de excepción.
Esto en delphi no pasaba, en la misma situación la aplicación Delphi,
mostraba la excepción,
pero la ejecución del programa seguia, no se cerraba ni siquiera el
formulario.

He pensado que quizas el comportamiento normal en windows es el de C#


pero
tambien
he programado mucho en Visual C++ (Win32) a pelo, sin MFC ni nada,


partiendo
de void main(void),
y cuando habia una excepción no se cerraba la aplicacición.

Alguien puede aclararme las ideas?

Gracias.

Javier Ros Moreno


Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida