Tengo una clase con el sieguiente codigo:
public class ElMain
{
[STAThread]
static void Main()
{
try
{
Application.Run(new FormPrincipal());
}
catch (Exception)
{
MessageBox.Show("Excepcion Capturada");
}
}
}
Y en otra clase (un formulario), el siguiente constructor:
public FormPrincipal()
{
InitializeComponent();
int a = 0;
int b = 5;
int c = b/a;
}
Pues bien, cuando lo ejecuto, evidentemente la excepción de división por cero que lanza el formulario es capturada desde la clase ElMain y muestra el mensaje "Excepcion Capturada", hasta aqui todo correcto ¿verdad?, pues bien, esto es así siempre que pruebes desde el Visual Studio porque si genero los resultados del proyecto y ejecuto el .exe generado la excepción no es capturada y en vez de mi mensajito "Excepcion Capturada" aparece el tipico mensaje de "Excepcion no controlada en la aplicacion y blablabla blablabla"...
¿¿¿ALGUIEN SABE POR QUE OCURRE ESTO??? o es que es un pedazo de bug del .NET de los mas grades que he visto...