Excepción que no se lanza

26/02/2007 - 15:41 por RFOG | Informe spam
Teniendo el siguiente código:


float xx = m_toppersRect[iTopper].Width / m_bitmap.Width *
k_originalArrows[0].X;
float yy = m_toppersRect[iTopper].Height / m_bitmap.Height *
k_originalArrows[0].Y;
m_arrowsRect[0] = new RectangleF(xx + k_originalArrows[0].X, yy
+ k_originalArrows[0].Y, m_arrows[0].Width, m_arrows[0].Height);
m_arrowsRect[1] = new RectangleF(xx + k_originalArrows[1].X, yy
+ k_originalArrows[1].Y, m_arrows[1].Width, m_arrows[1].Height);
m_arrowsRect[2] = new RectangleF(xx + k_originalArrows[2].X, yy
+ k_originalArrows[2].Y, m_arrows[2].Width, m_arrows[2].Height);
m_arrowsRect[3] = new RectangleF(xx + k_originalArrows[3].X, yy
+ k_originalArrows[3].Y, m_arrows[3].Width, m_arrows[3].Height);
for (int light = 0; light < 32; light++)
{
...


Y sabiendo que m_arrowsRect vale null, no se dispara la execpción, o al
menos no salta en el IDE ni el programa cuando se está ejecutando él solo.

Ese código está en un evento SizeChanged, cuando se ejecuta la primera
asignación, el sistema salta al evento Paint sin terminar de ejecutar lo
que hay debajo y sin dar ninguna excepción ni nada.

¿Es ese el comportamiento por defecto? Yo creo que no, pero me gustaría
que me lo confirmárais.

Thnx.
Visita mi blog principal: http://rfog.blogsome.com
Y este sobre programación: http://geeks.ms/blogs/rfog
Libros, ciencia ficción y programación
Llevar una vida amargada lo puede cualquiera, pero amargarse la vida a
propósito es un arte que se aprende.
 

Leer las respuestas

#1 RFOG
26/02/2007 - 16:05 | Informe spam
Vaya, parece que hay un filtro de palabrotas. Veamos ahora:

P*t* m**rd*.

Perdonadme la expresión, pero es que estoy más que harto...

Compilado en AnyCPU no salta la excepción.
Compilado en x86 sí que salta la excepción. Y encima lo que me fallaba en
AnyCPU en x86 me va bien...

Ejecutando en un Vista x64...

Joder, estoy es candidato para una entrada en el blog.



En Mon, 26 Feb 2007 15:41:51 +0100, RFOG
escribió:

Teniendo el siguiente código:


float xx = m_toppersRect[iTopper].Width / m_bitmap.Width *
k_originalArrows[0].X;
float yy = m_toppersRect[iTopper].Height / m_bitmap.Height *
k_originalArrows[0].Y;
m_arrowsRect[0] = new RectangleF(xx + k_originalArrows[0].X, yy
+ k_originalArrows[0].Y, m_arrows[0].Width, m_arrows[0].Height);
m_arrowsRect[1] = new RectangleF(xx + k_originalArrows[1].X, yy
+ k_originalArrows[1].Y, m_arrows[1].Width, m_arrows[1].Height);
m_arrowsRect[2] = new RectangleF(xx + k_originalArrows[2].X, yy
+ k_originalArrows[2].Y, m_arrows[2].Width, m_arrows[2].Height);
m_arrowsRect[3] = new RectangleF(xx + k_originalArrows[3].X, yy
+ k_originalArrows[3].Y, m_arrows[3].Width, m_arrows[3].Height);
for (int light = 0; light < 32; light++)
{
...


Y sabiendo que m_arrowsRect vale null, no se dispara la execpción, o al
menos no salta en el IDE ni el programa cuando se está ejecutando él
solo.

Ese código está en un evento SizeChanged, cuando se ejecuta la primera
asignación, el sistema salta al evento Paint sin terminar de ejecutar lo
que hay debajo y sin dar ninguna excepción ni nada.

¿Es ese el comportamiento por defecto? Yo creo que no, pero me gustaría
que me lo confirmárais.

Thnx.





Visita mi blog principal: http://rfog.blogsome.com
Y este sobre programación: http://geeks.ms/blogs/rfog
Libros, ciencia ficción y programación
Llevar una vida amargada lo puede cualquiera, pero amargarse la vida a
propósito es un arte que se aprende.

Preguntas similares