¿Qué estructura de manejo de excepciones es
El error no se detecta, ya que el manejo de excepciones estructurado todavía no está en vigor, y que el usuario ve el mensaje de error estándar. Antes de que pueda detectar el error, usted debe decirle a ColdFusion para tratar de atrapar un error:
CFTRY dice ColdFusion para ver el bloque de código cerrado por los errores, y ColdFusion CFCATCH dice qué hacer si ocurre un error. CFCATCH type = "Cualquiera" ColdFusion dice que cualquier error hace que la ejecución de pasar al código dentro de ese bloque CFCATCH específicos. CFCATCH tiene un único atributo llamado tipo A, que especifica el tipo de error que se captura. Si desea detectar errores de base de datos sólo, por ejemplo, puede utilizar el siguiente código:
Si utiliza este CFTRY / CFCATCH construir, todos los errores de base de datos son capturados y manipulados por el código en el par de etiquetas CFCATCH, y todos los errores nondatabase caída hasta el nivel siguiente de excepción estructurada de la aplicación de manejo de marco. Al especificar un tipo de excepción avanzados como el argumento de CFCATCH el atributo tipo, usted puede capturar y manejar errores muy específicos que ocurren fuera de los límites de ColdFusion Server. La idea de tener este tipo de error de muchos es que su manejo de excepciones estructurado granular puede responder a cada tipo de una manera específica. Podría, por ejemplo, tienen un controlador de excepciones que las capturas de dos tipos diferentes y se ocupa de ellos de dos maneras diferentes, como sigue:
En el ejemplo anterior, las capturas ya sea un error de base de datos o un error de expresión y muestra un mensaje diferente dependiendo de cuál de ellos. Si el error no es una base de datos o un error de expresión, el error no se detecta y que el usuario ve la salida de mensajes estándar. CFCATCH type = "Cualquiera" no puede contraer un tipo de error. En concreto, type = "Cualquiera" detecta cualquier error que se derivan de la java.lang.Exception clase Java. type = "Todo" no, sin embargo, detectar los errores que se derivan de java.lang.Throwable. Para la captura de estos errores, debe definir una especial CFCATCH, como sigue:
Rara vez se encuentra con este tipo, ya que ninguna de las características estándar de ColdFusion lanzar este tipo de error. Usted puede sorprenderse al enterarse de que que no se puede detectar errores en absoluto ciertas. El siguiente código, por ejemplo, arroja un error, independientemente de la CFTRY que rodean el código mal:
La CFSET no tiene contenido, por lo que ColdFusion arroja un error que indica, no válido CFML Construir encontrados en la línea 9 en la columna 7. Este resultado puede parecer extraño, sin embargo, porque usted tiene una CFTRY y CFCATCH type = "Cualquiera". El problema aquí es que la mala CFSET creado un error de compilación, que no pueden ser capturados con CFCATCH. CFCATCH puede tomar sólo un error de tiempo, que se produce durante la ejecución de la plantilla. En el caso del fragmento anterior, ColdFusion no podría exitosamente analizar y compilar la página, así que el manejo de excepciones, no tuvo efecto. Si usted fuera a una página de hoteles con habitaciones disponibles con un error de compilación, la página de llamada podría coger una plantilla de error de tipo. Esto es raro, y usted debe tener cuidado de no confiar en el manejo de excepciones para atrapar errores de compilación. La respuesta corta es nada! Se puede controlar un error de ninguna manera que mejor le parezca, de ignorar por completo a examinar en detalle, a los recorridos del usuario a una plantilla alternativa. Por lo general, hacer una de dos cosas, sin embargo. Cualquiera de redirigir al usuario a una página diferente, o mostrar un mensaje amistoso para el usuario diciéndole que lo que pasó. Puedes seguir cualquiera de las dos filosofías en la reorientación de los usuarios. El primero es tener una página de error específico para cada error que pueden ocurrir y redirigir al usuario a la página específica, como en el ejemplo siguiente:
La desventaja de este enfoque es que no se puede saber exactamente lo que pasó y por qué. Una mejor opción es redirigir al usuario a una página de error, pero pasar el mensaje de error en la dirección, como sigue:
Este código pasa un mensaje de error detallado en un parámetro de URL a la página de error. Otra opción es directamente presentan algún tipo de mensaje en lugar de redirigir al usuario, como sigue:
Usted puede notar que el código anterior añade un CFABORT después del mensaje, usted no desea que la página erróneos para continuar la ejecución después de un error. Una última opción que rara vez se utiliza es ignorar el error. Esto es generalmente adecuado sólo si usted está esperando un error que se produzca, pero no importa a usted si el error se produce o no, como muestra el siguiente código:
Si usted está haciendo caso omiso de un error, añadiendo un comentario al bloque CFCATCH es generalmente una buena idea para que usted no está confundido si volver atrás y leer el código más tarde. Y ser conscientes de que ignorar un error puede resultar peligroso, porque puede terminar sin querer la captura de un error más grave que la que esperaban. Al menos de registrar el error mediante el uso de CFLog puede ser una buena idea, incluso si va a ignorar, como en el ejemplo siguiente:
De esta manera, usted puede revisar el error específico en el archivo de registro. un artículo presentado por José Carreto Descargo de responsabilidad:Nuestro sitio web no es responsable por el contenido de este artículo. Webarticles es un recurso de información gratuito. Importante: Este artículo "¿Qué estructura de manejo de excepciones es", fue traducida por un software automático. Sentimos pena por los errores de ortografía que pueda haber ocurrido. Gracias por su comprensión.
|
|||||
| Online: 368 users browsing the articles directory |
|
|