Ver Mensaje Individual
  #19  
Antiguo 15-07-2005
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Reputación: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Los problemas que me has mostrado roman, aun con ser posibles y todo eso, no tienen nada que ver con lo que yo hago "para dirigir al usuario a una línea". De todos modos te agradezco los comentarios igual.

Por eso he recalcado arriba que estaba refiriéndome a un caso en concreto sobre el que había tomado una decisión, un caso concreto, que, claro está, no tiene porqué parecerse a otros casos concretos, por eso son concretos.

Cita:
Empezado por roman
Pero de cualquier forma, una construcción como
Código Delphi [-]
  try
    ...
  except
  end;
jamás debe hacerse. Me parece que ya lo dijo mamcx; al hacer esto escondes todas las excepciones posibles, no sólo las que uno prevee o piensa que pueden suceder.
Bueno, en este caso, me parece a mí que pocas excepciones podrían darse salvando el "EConvertError" presumible y ocultado al usuario porque personalmente lo creí mejor.

De todas maneras ya dije más arriba que había pasado a utilizar la función "TryStrToInt" y ese patrón de uso de try/except no es algo habitual en lo poco que escribo.

Cita:
Empezado por roman
Esto me recuerda al experimento del perrito que tiene que abrir una reja con uno de dos botones. Un botón abre la rejay el otro le da un toque eléctrico. Así has-ta-que-se-e-du-que, ¡no faltaba más!
¡Hombre, menuda comparación! Personalmente calculaba que el usuario se diera cuenta del "error" a la primera, de verdad lo digo: no estoy de acuerdo en absoluto de tratar al usuario como a tonto, porque yo soy usuario y a mí no me gusta que me traten como a tonto.

Así que no entiendo eso de "El usuario no es tonto, pero el programa debe estar diseñado para tontos." ¿En qué quedamos? ¿El usuario es tonto o no lo es? Porque si no lo es no podemos diseñar un progama para tonto: ¿en qué quedamos?

Cita:
Empezado por roman
El mismo artículo, a mi no me queda claro.
Pero es que me parece normal roman. Poniéndome un tanto en tu lugar prácticamente estoy por aseverar que haría lo mismo que tú en este caso. Creo que lo mismo no lo leen igual dos personas. Una saca unas conclusiones, otra otras.

Cita:
Empezado por roman
Pero, ¿cuál es el error a que se refiere Marteens?
¡Pues si es en lo que estamos de acuerdo! En que no deben emplearse patrones como la excepción try/except "vacía", para tapar errores, sin ir más lejos.

Y que tampoco se debe levantar una excepción dentro de una instrucción try/except, pues que sería levantar la misma excepción dos veces: para eso está raise.

Que si no se tiene un plan B, es decir, si no se sabe o no se puede o no se quiere tratar una excepción la instrucción try/except sobra, porque, precisamente, sirve justamente para cuando hay un plan B.

Con plan B se refiere Marteens a otra forma de hacer las cosas en caso de que de la primera forma que se pensó no salgan bien: puede que sea de perogrullo pero es que creo que no dirá el referido autor en vano que solamente para un 10% de las excepciones tenemos un plan B.

Cita:
Empezado por roman
Porque a juzgar por su descripción de la cláusula fault en Freya da la impresión de que justamente recomienda propagar la excepción
¡Claro! Precisamente porque la gente lo hace mal. Precisamente porque Ian Marteens presupone que lo van a seguir haciendo mal quiere él poner un granito de arena para que aún así las cosas puedan salir mejor. Pero te remito al comienzo del artículo, porque el autor lo explica mejor que yo.

Cita:
Empezado por roman
Para mi, hay excepciones que deen propagarse y otras no, depende de las circunstancias y objetivos.
Pues como en esto, salvando las distancias que puede haber entre tú y yo mirando lo que tú sabes y lo que yo no sé, también estamos de acuerdo, digo, que, al cabo al cabo la suma de acuerdos es mayor que la de desacuerdos.

Actualización:

Cita:
Empezado por Yo mismo
Personalmente calculaba que el usuario se diera cuenta del "error" a la primera (...)
¡Y que además no pensaba soltarle ninguna descarga! Es por esto que actualizo mi mensaje, para preguntar, ¿sabe alguien si, de la misma manera que puede hacerse sonar un ¡Beeep! es posible soltar una descarga al usuario de una aplicación hecha con Delphi? Es broma, a mí no se me ocurre pensar algo así.
__________________
David Esperalta
www.decsoftutils.com

Última edición por dec fecha: 15-07-2005 a las 22:08:45. Razón: (actualización)
Responder Con Cita