captura y recolecciÓn de errores

20
CAPTURA Y CAPTURA Y RECOLECCIÓN DE RECOLECCIÓN DE ERRORES ERRORES 20 de Noviembre de 2004 20 de Noviembre de 2004

Upload: gordy

Post on 02-Feb-2016

39 views

Category:

Documents


0 download

DESCRIPTION

CAPTURA Y RECOLECCIÓN DE ERRORES. 20 de Noviembre de 2004. USO DE EXCEPTION HANDLING. Es responsabilidad del programador anticipar las excepciones y tratarlas antes de que ellas ocurran. Hay dos maneras de tratar las excepciones: - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: CAPTURA Y RECOLECCIÓN DE ERRORES

CAPTURA Y CAPTURA Y RECOLECCIÓN DE RECOLECCIÓN DE

ERRORESERRORES

20 de Noviembre de 200420 de Noviembre de 2004

Page 2: CAPTURA Y RECOLECCIÓN DE ERRORES

USO DE EXCEPTION USO DE EXCEPTION HANDLINGHANDLING

Es responsabilidad del programador Es responsabilidad del programador anticipar las excepciones y tratarlas anticipar las excepciones y tratarlas antes de que ellas ocurran.antes de que ellas ocurran.

Hay dos maneras de tratar las Hay dos maneras de tratar las excepciones:excepciones:•Usar bloques de manejo de excepciones Usar bloques de manejo de excepciones

dentro de un procedimiento. Esta técnica se dentro de un procedimiento. Esta técnica se llama structured exception handling (SEH)llama structured exception handling (SEH)

•Usar eventos de errores para manejar las Usar eventos de errores para manejar las excepciones dentro de un objetoexcepciones dentro de un objeto

Page 3: CAPTURA Y RECOLECCIÓN DE ERRORES

Uso de los bloques de Uso de los bloques de Exception-HandlingException-Handling

Page 4: CAPTURA Y RECOLECCIÓN DE ERRORES

Uso de los bloques de Uso de los bloques de Exception-HandlingException-Handling

Verifica que el Verifica que el archivo existaarchivo exista

Guarda el Guarda el archivo en el archivo en el servidorservidor

Maneja la Maneja la excepciónexcepción

Realiza la Realiza la limpiezalimpieza

Page 5: CAPTURA Y RECOLECCIÓN DE ERRORES

Uso de los bloques de Uso de los bloques de Exception-HandlingException-Handling

Debido a que catch Debido a que catch se ejecuta se ejecuta secuencialmente, se secuencialmente, se debe organizar las debe organizar las sentencias de las sentencias de las más específicas a más específicas a las más generales.las más generales.

Para ver las Para ver las excepciones excepciones específicas provistas específicas provistas vaya a:vaya a:• Menú -> ExcepcionesMenú -> Excepciones

Page 6: CAPTURA Y RECOLECCIÓN DE ERRORES

Definir nuevas Definir nuevas ExcepcionesExcepciones

Muchas veces se necesita crear una Muchas veces se necesita crear una excepción que no tiene un equivalente excepción que no tiene un equivalente a las excepciones existentes del a las excepciones existentes del framework. En ese caso se crea una framework. En ese caso se crea una nueva excepción así:nueva excepción así:

throw new ApplicationException("User is alreathrow new ApplicationException("User is alrea

dy logged on.");dy logged on."); Para manejar esta excepción haga:Para manejar esta excepción haga:catch (ApplicationException ex) catch (ApplicationException ex)

Page 7: CAPTURA Y RECOLECCIÓN DE ERRORES

Uso de los eventos de Uso de los eventos de ErrorError

Los eventos de error se pueden usar para:Los eventos de error se pueden usar para:• Sustituir los bloques de manejo de excepciones. Aunque estos Sustituir los bloques de manejo de excepciones. Aunque estos

procedimientos están fuera del alcance de donde ocurre los procedimientos están fuera del alcance de donde ocurre los errores, se tiene menos información y por lo tanto, menos errores, se tiene menos información y por lo tanto, menos capacidad de corregir el error. Sin embargo, está bien usarse capacidad de corregir el error. Sin embargo, está bien usarse para tareas que no necesiten corrección el error.para tareas que no necesiten corrección el error.

• Junto con los bloques de manejo de excepciones. Sirven como Junto con los bloques de manejo de excepciones. Sirven como ayuda para las excepciones que no fueron previstas. ayuda para las excepciones que no fueron previstas.

Page 8: CAPTURA Y RECOLECCIÓN DE ERRORES

Uso de los eventos de Uso de los eventos de ErrorError

Cuando se manejan las excepciones en los Cuando se manejan las excepciones en los eventos de error, use el objeto Server para eventos de error, use el objeto Server para obtener información sobre la excepción.obtener información sobre la excepción.

Page 9: CAPTURA Y RECOLECCIÓN DE ERRORES

Uso de los eventos de Uso de los eventos de ErrorError

Page 10: CAPTURA Y RECOLECCIÓN DE ERRORES

USO DE LAS PÁGINAS DE USO DE LAS PÁGINAS DE ERRORERROR

Cuando el usuario corre su aplicación, una Cuando el usuario corre su aplicación, una serie de eventos pueden ocurrir fuera de la serie de eventos pueden ocurrir fuera de la misma. Por ejemplo, no se encuentra la misma. Por ejemplo, no se encuentra la página en el servidor, etc.página en el servidor, etc.

Las páginas de error son páginas .aspx Las páginas de error son páginas .aspx o .htm a donde se redirecciona la aplicación o .htm a donde se redirecciona la aplicación en caso de ocurrir una excepción no en caso de ocurrir una excepción no manejada. Se pueden definir en dos niveles:manejada. Se pueden definir en dos niveles:• En la sección de customErrors del Web.configEn la sección de customErrors del Web.config

• Especificar una página de error para un Especificar una página de error para un formulario en particular en su atributo PageError formulario en particular en su atributo PageError

Page 11: CAPTURA Y RECOLECCIÓN DE ERRORES

Uso de páginas para errores Uso de páginas para errores a nivel de la aplicacióna nivel de la aplicación

Para ver la Para ver la configuración de los configuración de los errores para una errores para una aplicación en IIS, aplicación en IIS, haga:haga:• Click derecho sobre Click derecho sobre

el fólder de la el fólder de la aplicación y aplicación y seleccionar seleccionar Properties. Properties.

• Ir al tab de Custom Ir al tab de Custom ErrorsErrors

Page 12: CAPTURA Y RECOLECCIÓN DE ERRORES

Uso de páginas para errores Uso de páginas para errores a nivel de la aplicacióna nivel de la aplicación

• Seleccionar el Seleccionar el código de respuesta código de respuesta al cual usted quiere al cual usted quiere cambiar la página cambiar la página de error y escoger de error y escoger editar Propiedades. editar Propiedades.

• Seleccione Browse Seleccione Browse para escoger la para escoger la nueva página.nueva página.

Page 13: CAPTURA Y RECOLECCIÓN DE ERRORES

Uso de páginas para errores Uso de páginas para errores a nivel de la aplicacióna nivel de la aplicación

Para especificar una página como Para especificar una página como respuesta para alguno de estos errores, respuesta para alguno de estos errores, incluya un tag <error> en la sección de incluya un tag <error> en la sección de customError de su archivo Web.config. customError de su archivo Web.config. Por ejemplo:Por ejemplo:

Page 14: CAPTURA Y RECOLECCIÓN DE ERRORES

Uso de páginas para errores Uso de páginas para errores a nivel de páginaa nivel de página

Use el atributo PageError en Page para Use el atributo PageError en Page para mostrar una página cuando ocurre una mostrar una página cuando ocurre una excepción no manejada en un formulario excepción no manejada en un formulario webweb

Page 15: CAPTURA Y RECOLECCIÓN DE ERRORES

SEGUIMIENTO A LAS SEGUIMIENTO A LAS EXCEPCIONESEXCEPCIONES

Tracing es una técnica para grabar los Tracing es una técnica para grabar los eventos. Las ventajas son:eventos. Las ventajas son:• La estandarización. Asegura que las técnicas de La estandarización. Asegura que las técnicas de

programación sean las mismas a través de todas programación sean las mismas a través de todas las aplicaciones que desarrolla en .net.las aplicaciones que desarrolla en .net.

• Tiene soporte Web incorporado. Tiene soporte Web incorporado. • Configuración. Se pueden habilitar o deshabilitar Configuración. Se pueden habilitar o deshabilitar

sin necesidad de recompilarsin necesidad de recompilar• DesempeñoDesempeño

Para usar tracing haga:Para usar tracing haga:• Habilite el tracingHabilite el tracing• Escriba en el trace logEscriba en el trace log• Lea del trace logLea del trace log

Page 16: CAPTURA Y RECOLECCIÓN DE ERRORES

Habilitar o deshabilitar Habilitar o deshabilitar el tracingel tracing

Para habilitar el tracing en toda la aplicación, Para habilitar el tracing en toda la aplicación, establezca el atributo Enable de <trace> en establezca el atributo Enable de <trace> en verdadero, en el Web.configverdadero, en el Web.config

Para habilitar el trace en una página, establezca la Para habilitar el trace en una página, establezca la propiedad Trace del objeto DOCUMENT en True. propiedad Trace del objeto DOCUMENT en True.

Para escribir los mensajes de Trace en un archivo Para escribir los mensajes de Trace en un archivo de log para toda la aplicación, en el Web.config, de log para toda la aplicación, en el Web.config, en el atributo PageOutput de <trace> póngalo en en el atributo PageOutput de <trace> póngalo en falso. ASP.net luego escribe los traces en el falso. ASP.net luego escribe los traces en el archivo Trace.axd que está en el root.archivo Trace.axd que está en el root.

El elemento <trace> incluye un atributo El elemento <trace> incluye un atributo RequestLimit para determinar cuántas peticiones RequestLimit para determinar cuántas peticiones de página escribir en el trace log.de página escribir en el trace log.

Page 17: CAPTURA Y RECOLECCIÓN DE ERRORES

Habilitar o deshabilitar Habilitar o deshabilitar el tracingel tracing

Escribir los mensajes en un trace log no afecta Escribir los mensajes en un trace log no afecta el seguimiento a nivel de página. Cuando la el seguimiento a nivel de página. Cuando la propiedad de Trace de DOCUMENT es True, propiedad de Trace de DOCUMENT es True, todos los mensajes son desplegados en la todos los mensajes son desplegados en la página. Para rastrear los mensajes de una página. Para rastrear los mensajes de una página a un archivo de log haga:página a un archivo de log haga:

Establezca la propiedad Enabled de <trace> Establezca la propiedad Enabled de <trace> en el Web.config a True y PageOutput a False. en el Web.config a True y PageOutput a False.

Para cada página que quiera excluir de Para cada página que quiera excluir de tracing, establezca la propiedad Trace del tracing, establezca la propiedad Trace del objeto DOCUMENT a False. objeto DOCUMENT a False.

Page 18: CAPTURA Y RECOLECCIÓN DE ERRORES

Escribir mensajes al Escribir mensajes al Trace LogTrace Log

El objeto Trace provee los métodos Write y El objeto Trace provee los métodos Write y Warn para escribir mensajes al trace. Los dos Warn para escribir mensajes al trace. Los dos métodos son iguales con una excepción: los métodos son iguales con una excepción: los mensajes escritos con Write se muestran en mensajes escritos con Write se muestran en negro, los mensajes escritos con Warn se negro, los mensajes escritos con Warn se muestran con rojo.muestran con rojo.

Page 19: CAPTURA Y RECOLECCIÓN DE ERRORES

Escribir mensajes al Escribir mensajes al Trace LogTrace Log

Muchas veces usted desea realizar acciones distintas Muchas veces usted desea realizar acciones distintas mientras se realiza el trace. Por ejemplo, desea mientras se realiza el trace. Por ejemplo, desea capturar información del usuario para añadirla al capturar información del usuario para añadirla al mensaje de trace. La propiedad IsEnabled de Trace le mensaje de trace. La propiedad IsEnabled de Trace le permite realizar este código condicionalmente, sin permite realizar este código condicionalmente, sin afectar el desempeñoafectar el desempeño

Page 20: CAPTURA Y RECOLECCIÓN DE ERRORES

Leer el Trace LogLeer el Trace Log Por defecto, la salida del Por defecto, la salida del

trace es desplegada al trace es desplegada al final de cada página Web final de cada página Web cuyo trace esté habilitado. cuyo trace esté habilitado. Como se mencionó Como se mencionó anteriormente, si el anteriormente, si el atributo PageOutput está atributo PageOutput está en False en el Web.config, en False en el Web.config, la salida se escribe al la salida se escribe al archivo Trace.axd en el archivo Trace.axd en el directorio raíz de la directorio raíz de la aplicación. aplicación.

Cuando se navega a Cuando se navega a Trace.axd desde un Trace.axd desde un browser, la página es browser, la página es como sigue:como sigue: