Sobes.tech
Junior

¿Qué es el operador throw en C#?

sobes.tech AI

Respuesta de la IA

El operador throw se utiliza para lanzar explícitamente una excepción. Permite interrumpir la ejecución normal del programa y transferir el control al bloque de manejo de excepciones.

// Ejemplo de uso del operador throw
try
{
    int[] numbers = { 1, 2, 3 };
    int index = 5;

    // Lanzar manualmente una excepción IndexOutOfRangeException
    if (index >= numbers.Length)
    {
        throw new IndexOutOfRangeException("El índice está fuera del rango del array.");
    }

    Console.WriteLine(numbers[index]);
}
catch (IndexOutOfRangeException ex)
{
    // Manejo de la excepción
    Console.WriteLine($"Error: {ex.Message}");
}

El operador throw puede usarse en dos formas:

  1. throw expression;: Lanza una nueva excepción, donde expression es una instancia de una clase que hereda de System.Exception.

    throw new ArgumentException("Argumento inválido.");
    
  2. throw;: Vuelve a lanzar la excepción actual en el bloque catch. Esto conserva toda la información de la pila de llamadas de la excepción original.

    try
    {
        // Código que puede lanzar una excepción
    }
    catch (FileNotFoundException ex)
    {
        // Manejo adicional o registro
        Console.WriteLine($"Archivo no encontrado: {ex.FileName}");
    
        // Re-lanzar la excepción para su manejo posterior en la pila
        throw;
    }
    

El uso de throw es importante para:

  • Indicar errores o situaciones inesperadas en la aplicación.
  • Crear excepciones personalizadas para errores específicos.
  • Transmitir información del error al código que llama para un manejo correcto.