Este artículo es un artículo espejo de traducción automática, por favor haga clic aquí para saltar al artículo original.

Vista: 21123|Respuesta: 0

[Fuente] Excepciones y gestión de excepciones (Guía de programación en C#)

[Copiar enlace]
Publicado en 12/4/2015 22:22:03 | | |

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".
  1. class ExceptionTest
  2. {
  3.     static double SafeDivision(double x, double y)
  4.     {
  5.         if (y == 0)
  6.             throw new System.DivideByZeroException();
  7.         return x / y;
  8.     }
  9.     static void Main()
  10.     {
  11.         // Input for test purposes. Change the values to see
  12.         // exception handling behavior.
  13.         double a = 98, b = 0;
  14.         double result = 0;

  15.         try
  16.         {
  17.             result = SafeDivision(a, b);
  18.             Console.WriteLine("{0} divided by {1} = {2}", a, b, result);
  19.         }
  20.         catch (DivideByZeroException e)
  21.         {
  22.             Console.WriteLine("Attempted divide by zero.");
  23.         }
  24.     }
  25. }
Copiar código






Anterior:C# determina si una cadena contiene un carácter
Próximo:Determina si un sitio web está creado por el programa de foros Discuz
Renuncia:
Todo el software, materiales de programación o artículos publicados por Code Farmer Network son únicamente para fines de aprendizaje e investigación; El contenido anterior no se utilizará con fines comerciales o ilegales; de lo contrario, los usuarios asumirán todas las consecuencias. La información de este sitio proviene de Internet, y las disputas de derechos de autor no tienen nada que ver con este sitio. Debes eliminar completamente el contenido anterior de tu ordenador en un plazo de 24 horas desde la descarga. Si te gusta el programa, por favor apoya el software genuino, compra el registro y obtén mejores servicios genuinos. Si hay alguna infracción, por favor contáctanos por correo electrónico.

Mail To:help@itsvse.com