jueves, 18 de septiembre de 2008

Propuesta para C#

¿Dónde hay que enviar una sugerencia para la definición de C#? ¿Hay que tener cierto consenso? ¿Hay que enviar firmas?

Este código debería dar error de compilación:

try
{
   Hago algo...
   Hago otra cosa...
   Hago algo más...
}
//hasta acá todo bien, pero...
catch
{
   ...si hay un error ¡no hago nada!
}

Ejemplo:

try
{
   Entity userData = FrontEnd.GetData();
   Data.Update(userData);
}
catch
{
}
FrontEnd.ShowMessage("Operation successful!");

Algo, aunque sea grabarlo en un log, enviarlo por mail, ponerlo en el visor de sucesos del sistema... por lo menos un puntito rojo arriba y a la izquierda del formulario... yo qué sé... lo que sea, algo.

¿Alguien me apoya?

5 comentarios:

Anónimo dijo...

Totalmente de acuerdo. Los errores manejados pero no manejados no deberían existir. De todas maneras, de donde sacaste esa idea? :P

AcP dijo...

De uno de los sistemas en mi trabajo.

[ironico]
Se ve que, por error, el programador preparó la estructura y luego se olvidó de rellenarla de código... el compilador podría haberle ayudado.
[/ironico]

AcP dijo...

De todas maneras, tan mal no estuvo ¿no? Nunca nos reportaron un error. :P

Improbable dijo...

Esto debería estar prohibido. Pero el programador que lo hizo merece unos cuantos latigazos.

De todas maneras, es probable que haya un chequeador de código tipo el PMD para Java pueda hacerlo.

Yo probé FxCop hace un tiempo para C#,pero creo que no detectaba los empty catch blocks. De todas maneras, tal vez convenga hacerse una regla para eso, y la subís a tu blog ;-)

Anónimo dijo...

Noooo... si eso no compila que van a hacer los programadores Visual Basic que están acostumbrados al "On Error Resume Next"????