 |
Club Builder Foro de C++Builder en español
|
| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
invitado Invitado
|
Publicado: Lun 06 Oct, 2003 2:00 pm Asunto: 3 reglas de marteens |
|
|
1.- (La regla de throw) Utilice throw con toda naturalidad, cada vez que quiera evitar que el algoritmo siga su ejecución lineal, cada vez que detecte una situación que no puede manejar en ese momento. En pocas palabras, cada vez que se le antoje.
2.- (La regla de try/finally) Utilice try/finally cada vez que pida un recurso, para asegurar su devolución. Esta es la regla de la “honestidad”.
3.- (La regla de try/catch) Utilice try/catch lo menos posible; en la práctica, casi nunca.
Alguien me podria explicar por que tan así la regla nº3 y por que utilizarlo
lo menos posible.
y que diferencia existe entre
try
{
}
__finally
try
{
}
__except(EXCEPTION_EXECUTE_HANDLER) |
|
| Volver arriba |
|
 |
Enrique Master


Registrado: 13 Ago 2002Mensajes: 261Ubicación: La Vila Joiosa (Alacant)
|
Publicado: Lun 06 Oct, 2003 11:09 pm Asunto: |
|
|
Hola, respecto a la regla nº3, supongo que es Ian quien debería contestarte (pero nunca lo he visto por el foro). Te doy mi punto de vista.
Si genero catch{} es porque conozco el error que se puede producir en ese punto del programa y tengo un recurso para salvarlo, pero el error se ha cometido.
Si consigo no usar ningún catch{} es porque he desarrollado el código lo suficientemente bien como para que no se llegue a producir la situación de error, y si se produce que no llegue a afectar a la ejecución de mi programa.
Lo veo así, no busco solución a los errores porque si se producen no es debido a mi programa si no a algo externo a él. Sólo es mi punto de vista.
Respecto a la segunda pregunta, el bloque __finally se ejecuta siempre, pase lo que pase con el try. No termina mi función en el instante de producirse el error si no que antes tiene que ejecutar el bloque __finally. No conozco __except(), pero da la sensación de que estás lanzando una excepción, osea estás ejecutando catch{}, que sólo se realizará si hay un error en el try{} que le precede. |
|
| Volver arriba |
|
 |
Invitado
|
Publicado: Mar 07 Oct, 2003 1:05 pm Asunto: |
|
|
| gracias Enrique por darme tu opinion |
|
| Volver arriba |
|
 |
|
|
No puedes publicar temas nuevos en este foro No puedes responder a temas en este foro No puedes editar tus mensajes en este foro No puedes borrar tus mensajes en este foro No puedes votar en las encuestas de este foro
|
© 2002–2026 Club Builder · Funciona con phpBB.
|