Control de excepciones (Depurar)
Una excepción es una situación anómala que se produce mientras se ejecuta un programa. Las excepciones son, a menudo, indicaciones de problemas que deben depurarse. Cuando se produce una excepción, el depurador escribe un mensaje de excepción en la Ventana de salida, salvo que esté deshabilitada en el cuadro de diálogo General, Depuración, Opciones (Cuadro de diálogo).
El depurador puede interrumpir la ejecución cuando se produce una excepción.
Si se produce una excepción que no es ASP.NET y no se controla, el depurador siempre interrumpe la ejecución.
Puede indicar al depurador que interrumpa inmediatamente la ejecución cuando se produce una excepción, antes de que se invoque un controlador. Para obtener más información, vea Cómo: Interrumpir cuando se produce una excepción.
Si está depurando con Solo mi código, tiene una tercera opción. Puede indicar al depurador que interrumpa en cualquier excepción que no sea controlada por un controlador en código de usuario ("Mi código"). Para obtener más información, vea Cómo: Interrumpir en las excepciones no controladas por el usuario.
ASP.NET tiene un controlador de excepciones de nivel superior que controla las excepciones para mostrar las páginas de error a los usuarios del explorador. Ese controlador de excepciones de nivel superior detendrá una excepción no controlada para que no interrumpa el depurador a menos que se active Sólo mi código. Asegúrese de habilitar Sólo mi código en la depuración de ASP.NET.
Recuerde que si se produce una excepción y no se controla, el depurador siempre se interrumpe. La configuración no controlada por el usuario no cambia esta situación.
El depurador de Visual Studio reconoce las siguientes categorías de excepciones:
Excepciones de C++
Excepciones de Common Language Runtime
Asistentes para la depuración administrada
Comprobaciones nativas en tiempo de ejecución
Excepciones Win32
Excepciones en tiempo de ejecución de JavaScript
Excepciones de acceso a la memoria de GPU
La mayoría de las excepciones tienen controladores que están diseñados para responder a una excepción cuando se produce. Esto da al programa la ocasión de recuperarse de la situación anómala. Las comprobaciones nativas en tiempo de ejecución no tienen controladores.
En una aplicación de Visual Basic, el depurador representa todos los errores como excepciones, incluso si utiliza controladores de error de tipo On Error.
Para Visual Basic y C#, el depurador presenta ahora una nueva característica Asistente de excepciones que proporciona más información cuando se produce una excepción.
En los temas siguientes se ofrece información acerca del tratamiento de las excepciones:
Cómo: Interrumpir en las excepciones no controladas por el usuario
Cómo: Examinar el código del sistema después de una excepción
Cómo: Utilizar comprobaciones nativas en tiempo de ejecución
Utilizar comprobaciones en tiempo de ejecución sin la biblioteca en tiempo de ejecución de C
-
Nota
(Sólo Visual Basic y Visual C#) Si se produce una excepción no detectada cuando el Asistente de excepciones está desactivado, se agrega una $exception pseudovariable a la ventana Variables locales.Puede expandir esta pseudovariable para ver información sobre la excepción.
Vea también
Conceptos
Otros recursos
<PAVEOVER> Cómo: Ejecutar paso a paso por instrucciones en Solo mi código