La aplicación de un error de estrategia y control de excepciones

La aplicación de un error de estrategia y control de excepciones

  

Problema que desea aplicar un error de limpiar y estrategia de manejo de excepciones en las aplicaciones, para hacerlos funcionar sin problemas. Teoría Por supuesto, usted podría argumentar que un error es un cuadro de diálogo, y el otro se genera en la consola JavaScript. El hecho de que un navegador utiliza un cuadro de diálogo para mostrar un error y el otro no es un problema del navegador, no una cuestión de error. De una manera concisa de la clasificación de los dos errores es decir que uno representa una página HTML inicialización de error y el otro representa una página HTML ejecución de error. Cuando la aplicación de una estrategia de error, considerar la aplicación técnica. A nivel técnico, cuando se procesa el primer carácter, el tiempo de ejecución de JavaScript se ejecuta y puede generar un error. Pero si ocurre un error de tres personajes en el procesamiento, que son bastante impotentes para hacer algo al respecto. Hasta la página HTML que ha sido completamente procesada, usted no debería permitir el manejo de errores, porque el manejo de errores marco no puede ser inicializado correctamente.

Y si un error se da en ese punto, el manejo de errores marco podría irse con el seguro echado. Contar con un marco incompleto proceso de tratar de un error simplemente se confunden, no ayuda. Su objetivo debe ser para inicializar y preparar el marco de control de errores cuando la página HTML ha sido completamente transformado. Para saber cuándo hay que inicializar el marco de control de errores, lo que necesita saber cuando termina la inicialización de la página HTML y el tiempo de ejecución de la página HTML comienza. Técnicamente, la inicialización de la página HTML comienza cuando se procesa el primer carácter de la página HTML. Y, técnicamente, tiempo de ejecución página HTML empieza cuando se llama al evento window.onload. El evento window.onload se llama después de la página HTML se ha transformado, incluidos los marcos e imágenes, y es el primer fragmento de código JavaScript que se puede esperar cuando se ejecuta la página HTML para ser completo. Un ejemplo de implementación del evento window.onload podría ser el siguiente:

 La implementación de una Estrategia de Manejo de errores 

En este ejemplo, window.onload está cerca de la parte superior de la página HTML, pero la función podría ser puesto en cualquier lugar de la página. En la aplicación de window.onload, el método de window.onerror se asigna como un controlador de cajón de sastre de error global. Desde una perspectiva de secuencias de comandos, es el último punto en el que puede configurar el navegador antes de que el navegador comienza su ejecución en tiempo de ejecución de la página HTML. El controlador de window.onerror recibe tres parámetros: msg, archivo y la ubicación. Estos tres parámetros representan el mensaje, el archivo y la ubicación en el archivo, respectivamente.

Dentro de la aplicación de la window.onerror controlador, el controlador podría reparar y volver a intentar, generar un registro, o cualquier otra cosa que se desee. La aplicación window.onerror ejemplo no devuelve un valor verdadero o falso, resultando en el error que se propagan en el navegador. Un valor false se propagará y mostrar el error, mientras que un valor real no hará que el navegador cuenta del error. La aplicación de ejemplo contiene un problema, pero no con el controlador de errores. El problema es con la asignación de la función window.onload. Como está escrito el código, sólo hay una función de implementación para window.onload, y se inicializa la función window.onerror. Para una aplicación Ajax de cualquier complejidad, no es posible asignar un método window.onload único, ya que ello estar acaparando el método. Solución Esta solución implica la creación de un delegado de JavaScript, como lo ilustra el siguiente código.

 Fuente: / web / ROOT / ajaxrecipes / JavaScript / functionsareobjects.html  La implementación de una Estrategia de Manejo de errores 
 

En la aplicación onload vez, la función ops.delegate se utiliza para crear un delegado. Por el momento, pensar en un delegado como una manera de tener un único resultado de llamada a un método en múltiples métodos que se llama. (Puede encontrar más detalles acerca de los delegados en la receta de 2-17.) La aplicación de ops.delegate pondrá a prueba si una función es que ya está asignado a window.onload. Si se asigna una función, entonces la función existente se convierte en un método de delegado, y la nueva función está asociada con el delegado.

Luego, cuando el navegador pide window.onload, se llamará tanto la función original y la nueva función. En teoría, un número infinito de funciones pueden ser asociados con un delegado. Lo importante para recordar es que las múltiples funciones pueden estar asociados con una sola propiedad, que se requiere para el método window.onload. El código siguiente comprueba el error de rutina de control:

testsToRun var = (throw_exception: function () (throw new error ( "esto es un error");));

Cuando se llama a la función throw_exception, se genera una excepción por una instancia del objeto de error y luego lanzar utilizando la palabra clave throw. En teoría, se puede lanzar cualquier objeto, incluso uno que parece un error. Por supuesto, un error, utilizando de esta manera es la opción más eficiente, y esto es en esencia la base de su marco de gestión de errores. Usted necesita algo para capturar un error, y hay que tirar un error. ¿Cómo capturar y procesar el error es el contexto, lo que muestra que algo que yo u otro programador ha implementado en otra aplicación no va a ayudar aquí. Otra forma de capturar un error es a través de un controlador de excepciones, como sigue:

Generar la función () (throw new error ();) function cajón de sastre () (try (Generar ();) catch (e) (/ / Hacer algo con el error throw e;))

En este ejemplo son dos funciones: Generar y cajón de sastre. Generar se utiliza para generar una excepción, y cajón de sastre se usa para capturar la excepción. En JavaScript, puede capturar una excepción con el intento de captura y palabras clave, que captura todos los errores y las excepciones que se producen mientras el código en el bloque try se está ejecutando. Cuando se genera una excepción, se ejecuta el código dentro del bloque catch. En el ejemplo, el error es generado por Generar y atrapados por el bloque catch, que luego lanza el error. Cuando el error se produce de nuevo, la excepción será capturada en el método window.onload. El intentar alcanzar el bloque es muy útil, porque todos los errores y las excepciones se pueden capturar sin el navegador sea el más sabio. Pero contar con un mecanismo de cajón de sastre puede hacer depuración de JavaScript más complicado, porque los errores que se producen son procesadas sin tener el programador ser cualquier el más sabio. Usted puede verse tentado a utilizar un try y catch bloque como una técnica de programación en general, sino que sería un mal idea.

Un error que se produce es una excepción, y una excepción es algo que no debería haber ocurrido y es impredecible. Una excepción no debería ocurrir nunca, mientras que un error puede ocurrir. La mejor manera de ilustrar la diferencia entre y error y una excepción es el ejemplo siguiente, que muestra cómo una excepción puede ser usado para capturar un error.

Nota En este ejemplo se podría haber escrito de forma más sucinta utilizando otras palabras clave, pero el punto aquí es simplemente para mostrar la diferencia entre usar una decisión de prueba de una variable no definida y el uso de una excepción que se ejecuta si la variable pasa a ser indefinido.

func var; try (func ();) catch (e) (func = DEFAULT; func ();)

El ejemplo ilustra cómo excepción de un controlador de excepciones (try y catch palabras clave) se puede utilizar para capturar una excepción si la variable de funciones no está asignado a un método. Funciones de llamadas va a generar una excepción y activar el código en el bloque catch. En el bloque de captura de la excepción, la función variable se le asigna una función predeterminada que funciona y se llama. Uso de un bloque de excepción de esta manera es incorrecta, porque el código tal como está escrito que espera que las funciones no pueden ser asignadas. Si hay una expectativa de funciones no se le asigne, a continuación, el código debe ser escrito para reflejar eso. Una mejor manera de escribir el mismo código es el siguiente:

func var; if (typeof (func)! = "function") (func = default;) func ();

En el ejemplo de código reescrito, la prueba de los controles de función para asegurarse de que las funciones se hace referencia a una función. Si la función no hace referencia a una función, entonces se le asigna funciones de la función predeterminada por defecto. Luego, cuando se llama a funciones, no es la excepción se genera. Cuando se escribe el código, los errores y las excepciones se generan, y tendrá una estrategia para tratar con ellos. Mantenga los siguientes puntos en mente cuando se están desarrollando un error y la estrategia de excepción:

• Carga y procesamiento de una página HTML que incluye dos fases: la inicialización de la página HTML y ejecución de la página HTML.

• Durante la inicialización de la página HTML, no activar el error y la estrategia de excepción, hacerlo podría tener resultados impredecibles.

• Iniciar el error y la estrategia de manejo de excepciones en el método de window.onload.

• No asuma que se trata de una sola pieza de código que necesita ser llamado por el método de window.onload. Usar un delegado para permitir que múltiples funciones para ser llamado.

• Los errores y las excepciones no son la misma cosa. Los errores se pueden prever y tratar, pero las excepciones no pueden.

• Se puede definir un controlador de excepciones mundial mediante la aplicación del método de window.error.

• Para controlar las excepciones locales, puede utilizar un try y catch.

un artículo presentado por Sonja Lande


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 "Implementación de un error de estrategia y control de excepciones", 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: 326 users browsing the articles directory