FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
Dudas con una funcion y el uso de try catch
Hola amigos, ahora estoy ya intentando mejorar la aplicación y en vez de usar (nothrow) quiero usar try catch y en la siguiente funcion lo hago pero no se si hace lo que yo quiero ¿podeis decirme si se me pasa algo y ayudarme a corregirla?
Código PHP:
|
#2
|
|||
|
|||
hola,
has probado de poner un return divisiones enla ultima linea de cada catch ? |
#3
|
||||
|
||||
es que he leido que no es una buena practica poner un return al final de un catch.
Aquí lo que leí: http://www.marteens.com/trick0d.htm Si alguien puede aclararme las ideas al respecto... |
#4
|
||||
|
||||
Hola aguml.
No he probado el código, pero en apariencia es correcto. Lo único que me gustaría comentarte es una alternativa que te evitará el doble llamado al operador delete(): Código PHP:
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
#5
|
||||
|
||||
La verdad es que no se como acomodar lo que me pones "ecfisa". Otra cosa, cuando entro en el catch y ejecuto la ultima linea que está dentro del catch ¿ejecuta el return de la funcion? ¿que pasa al salir del catch?
|
#6
|
||||
|
||||
Usa __try inmediatamente seguido a la creación de bmp. Dado que el bloque __finally se ejecutará siempre, evitarás de ese modo el cuádruple llamado a delete bmp que realizas en tu código.
Otro ejemplo: Código PHP:
Cita:
Podes usar un breakpoint y ejecutar con F7 (o devolver un valor arbitrario) para comprobarlo. Saludos
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
#7
|
||||
|
||||
Hola,
Digo yo una cosa, ¿debe una función informar al usuario, directamente, de que se ha producido un error? ¿No debería más bien la función "levantar" la excepción, y, ser quien llame a dicha función quien avise del error al usuario si este lo ve necesario? Claro que podemos tratar excepciones en bloques de código fuera de funciones, y, ahí lo vería más lógico, pero, para mí que una función sólo debe levantar excepciones y no directamente mensajes de error. ¿Cómo lo véis vosotros? |
#8
|
||||
|
||||
Hola dec.
Estoy totalmente de acuerdo con eso. El tratamiento de los mensajes de error debería realizarse aparte. En lo personal aprovecho el evento OnException para la personalización de los mismos. Sólo quería señalarle a aguml, que se puede evitar la redundancia de declaraciones de liberaciones de recursos con la extensión de C++ Builder, __finally. Saludos
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... Última edición por ecfisa fecha: 18-12-2014 a las 15:41:02. |
#9
|
||||
|
||||
Hola.
Un ejemplo muuuy resumido ... Código PHP:
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Porque no funciona Try Catch?? | rogeliogamberro | C++ Builder | 5 | 14-12-2010 05:49:41 |
Dudas sobre funcion COUNT | spalma | MS SQL Server | 1 | 13-12-2007 15:44:39 |
Pressing Catch para PS2 | Ariel Pérez | La Taberna | 19 | 12-10-2007 21:36:40 |
try y catch en una consulta | rodrigodeoz | Conexión con bases de datos | 8 | 04-10-2007 18:24:37 |
dudas sobre la función average expresión de Quicreport | Manuel | Impresión | 4 | 16-05-2006 23:03:49 |
|