La función de gestión de excepciones del lenguaje C# te ayuda a manejar cualquier situación inesperada o inusual que ocurra mientras tu programa está en ejecución. El manejo de excepciones utiliza las palabras clave try, catch y finally para probar ciertas operaciones y gestionar fallos, y aunque estas operaciones pueden fallar, puedes intentarlo si estás seguro de que necesitas hacerlo y quieres limpiar recursos después. Tiempo de ejecución en lenguaje común (CLR), . NET Framework o cualquier librería o código de aplicación de terceros puede generar excepciones. Las excepciones se crean usando la palabra clave throw. En muchos casos, las excepciones pueden no ser generadas por un método llamado directamente por código, sino por otro método más abajo en la pila de llamadas. En este caso, el CLR amplía la pila para ver si existe un método que contenga un bloque de captura para ese tipo de excepción en particular, y si encuentra dicho método, ejecuta el primer bloque de captura de este tipo. Si no se encuentra ningún bloque de captura adecuado en ninguna parte de la pila de llamadas, el proceso se termina y se muestra un mensaje al usuario. En este ejemplo, se utiliza un método para detectar si existe una situación en la que se divide entre cero; Si lo hay, el error queda detectado. Si no hay gestión de excepciones, este programa terminará y producirá un error "DivideByZeroException Not Handled".- class ExceptionTest
- {
- static double SafeDivision(double x, double y)
- {
- if (y == 0)
- throw new System.DivideByZeroException();
- return x / y;
- }
- static void Main()
- {
- // Input for test purposes. Change the values to see
- // exception handling behavior.
- double a = 98, b = 0;
- double result = 0;
- try
- {
- result = SafeDivision(a, b);
- Console.WriteLine("{0} divided by {1} = {2}", a, b, result);
- }
- catch (DivideByZeroException e)
- {
- Console.WriteLine("Attempted divide by zero.");
- }
- }
- }
Copiar código
|