![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
#7
|
||||
|
||||
|
Para medio aclarar (que con plan A y plan B ya me dan ganas del plan C
):El asunto con try..except es muy simple, realmente ... Uno solo debe usar except si: 1- Es un codigo transaccional: ie. Hay una serie de tareas, un commit y en caso de falla, un rollback. 2- Cuando la excepcion se usa para CORREGIR el problema. Ej, estamos haciendo una conexion a un lugar remoto, y nos salta un error. Supongamos un timeout, y el programa es un cliente FTP que aparte de timeout tiene reintentos... Si la conexion falla se puede corregir (o sea volver a conectar) hasta N reintentos Pero lo que nunca se debe olvidar (porque las dos reglas anteriores no son absolutas, y se puede resolver la segunda no con excepciones sino con funciones que devuelvan el resultado de la operacion) es que: JAMAS SE DEBE ESCONDER EL ERROR. NUNCA. Y eso es todo lo que hay que saber. Ya sea que se de "rollback" o que se "corriga" se debe NOTIFICAR que hubo error, ya sea por medio de un log, un mensaje (no intrusivo, en el caso de la correccione: e.j: El cliente FTP simplemente pone un mensaje que dice: La conexion falla, reintentando en 30 segundos...), un mesagebox o lo que sea. Si se esconde el error como: try AbrirArchivo; except result := false; Nos va a dar un total dolor de cabeza el luego adivinar que salio mal. Como siempre he dicho: Si el programa saca error, es que esta bueno (Miedo al que nunca lo saca!)
__________________
El malabarista. |
|
|
|