Compartir a través de


Elegir cuándo se debe utilizar el control estructurado de excepciones y cuándo el control no estructurado de excepciones

Actualización: noviembre 2007

El control estructurado de excepciones es simplemente eso: utilizar una estructura de control que contiene excepciones, bloques aislados de código y filtros para crear un mecanismo de control de excepciones. Esto permite al código diferenciar entre diversos tipos de errores y reaccionar de acuerdo con las circunstancias. En el control estructurado de excepciones, una instrucción On Error al principio del código controla todas las excepciones.

Comentarios

El control estructurado de excepciones es significativamente más versátil, robusto y flexible que el no estructurado. Si es posible, utilice el control estructurado de excepciones. No obstante, quizá desee usar el control no estructurado de excepciones bajo las siguientes circunstancias:

  • Cuando se actualiza una aplicación escrita en una versión anterior de Visual Basic.

  • Cuando se desarrolla una versión preliminar o de borrador de una aplicación y no importa si el programa no se cierra correctamente.

  • Cuando se sabe de antemano, exactamente, qué provocará la excepción.

  • Hay una fecha límite, necesita trabajar con rapidez y prefiere sacrificar la flexibilidad a la velocidad.

  • Cuando el código es trivial o tan corto que sólo es necesario probar la bifurcación del código que genera la excepción.

  • Cuando es necesario utilizar la instrucción Resume Next, que no se admite en el control estructurado de excepciones.

No es posible combinar el control estructurado de excepciones y el no estructurado en la misma función. Si utiliza una instrucción On Error, no puede utilizar una instrucción Try...Catch en la misma función.

Independientemente de lo que elija para controlar las excepciones del código, deberá retroceder un paso y examinar qué suposiciones hace el código. Por ejemplo, cuando la aplicación pide al usuario que escriba un número de teléfono, están presentes las siguientes suposiciones:

  • El usuario escribirá un número en lugar de caracteres.

  • El número tendrá algo de formato.

  • El usuario no escribirá ninguna cadena de tipo null.

  • El usuario tiene un número de teléfono único.

La entrada del usuario puede infringir cualquiera o todas estas suposiciones. Un código robusto requiere un control de excepciones adecuado, que permita que la aplicación se recupere correctamente de la infracción.

A menos que pueda garantizar que un método nunca producirá una excepción, bajo ninguna circunstancia, incluya un control de excepciones que ofrezca información. El control de excepciones debe ser comprensible. Además de afirmar que algo fue mal, los mensajes resultantes del control de excepciones deben indicar porqué y dónde fue mal. Un mensaje poco informativo, del tipo de "Ocurrió un error", sólo sirve para frustrar al usuario.

Vea también

Tareas

Solucionar problemas de control de excepciones

Conceptos

Tipos de errores

Información general sobre el control estructurado de excepciones de Visual Basic

Información general sobre el control no estructurado de excepciones