¿Es esto un error en Winforms? (Probado en VS2008 y VS2010 tanto)¿Por qué la carga del formulario no puede detectar excepciones?
private void Form1_Load(object sender, EventArgs e)
{
throw new Exception("Hey");
}
no recibo ningún error en el código, hace un tiempo, que estoy tratando de formular una solución para esta cuestión Parse a number from a string with non-digits in between
Y tengo este código en Form1_Load:
private void Form1_Load(object sender, EventArgs e)
{
MessageBox.Show("X");
string s = "12ACD";
string t = s.ToCharArray().TakeWhile(c => char.IsDigit(c)).ToArray().ToString();
MessageBox.Show("Y");
int n = int.Parse(t);
MessageBox.Show(n.ToString());
}
Me pregunto por qué no mostró el número. Luego de mover el código a Button1_Click ...
private void button1_Click(object sender, EventArgs e)
{
MessageBox.Show("X");
string s = "12ACD";
string t = s.ToCharArray().TakeWhile(c => char.IsDigit(c)).ToArray().ToString();
MessageBox.Show("Y");
int n = int.Parse(t);
MessageBox.Show(n.ToString());
}
... entonces me di cuenta de que hay un error: cadena de entrada no tiene el formato correcto.
¿Por qué Form1_Load no captó ninguna excepción, por qué falla silenciosamente? El código acaba de salir de form1_load en cadena t = s.ToCharArray(). TakeWhile ...
He corregido satisfactoriamente este comportamiento en mi máquina de desarrollo Win7 SP1 x64. Ver [esta respuesta] (http://stackoverflow.com/a/11997142/119527) para saber cómo. –