Sobes.tech
Junior

Qu'est-ce que l'opérateur throw en C#?

sobes.tech IA

Réponse de l'IA

L'opérateur throw est utilisé pour lancer explicitement une exception. Il permet d'interrompre l'exécution normale du programme et de transférer le contrôle au bloc de gestion des exceptions.

// Exemple d'utilisation de l'opérateur throw
try
{
    int[] numbers = { 1, 2, 3 };
    int index = 5;

    // Lancer manuellement une exception IndexOutOfRangeException
    if (index >= numbers.Length)
    {
        throw new IndexOutOfRangeException("L'indice est hors de la plage du tableau.");
    }

    Console.WriteLine(numbers[index]);
}
catch (IndexOutOfRangeException ex)
{
    // Gestion de l'exception
    Console.WriteLine($"Erreur: {ex.Message}");
}

L'opérateur throw peut être utilisé sous deux formes:

  1. throw expression;: Lance une nouvelle exception, où expression est une instance d'une classe héritée de System.Exception.

    throw new ArgumentException("Argument invalide.");
    
  2. throw;: Relance l'exception courante dans le bloc catch. Cela conserve toutes les informations de la pile d'appels de l'exception d'origine.

    try
    {
        // Code pouvant lancer une exception
    }
    catch (FileNotFoundException ex)
    {
        // Gestion supplémentaire ou journalisation
        Console.WriteLine($"Fichier non trouvé: {ex.FileName}");
    
        // Relancer l'exception pour une gestion ultérieure dans la pile
        throw;
    }
    

L'utilisation de throw est importante pour:

  • Indiquer des erreurs ou des situations inattendues dans l'application.
  • Créer des exceptions personnalisées pour des erreurs spécifiques.
  • Transmettre des informations sur l'erreur au code appelant pour une gestion correcte.