Sobes.tech
Junior

Wat is de throw-operator in C#?

sobes.tech AI

Antwoord van AI

De throw-operator wordt gebruikt om expliciet een uitzondering te genereren. Het stelt je in staat om de normale uitvoering van het programma te onderbreken en de controle over te dragen aan het blok voor het afhandelen van uitzonderingen.

// Voorbeeld van het gebruik van de throw-operator
try
{
    int[] numbers = { 1, 2, 3 };
    int index = 5;

    // Handmatig een IndexOutOfRangeException genereren
    if (index >= numbers.Length)
    {
        throw new IndexOutOfRangeException("De index ligt buiten het bereik van de array.");
    }

    Console.WriteLine(numbers[index]);
}
catch (IndexOutOfRangeException ex)
{
    // Afhandeling van de uitzondering
    Console.WriteLine($"Fout: {ex.Message}");
}

De throw-operator kan in twee vormen worden gebruikt:

  1. throw expression;: Genereert een nieuwe uitzondering, waarbij expression een instantie is van een klasse die afgeleid is van System.Exception.

    throw new ArgumentException("Ongeldig argument.");
    
  2. throw;: Werpt de huidige uitzondering opnieuw in de catch-blok. Dit behoudt alle informatie over de aanroepstapel van de oorspronkelijke uitzondering.

    try
    {
        // Code die een uitzondering kan veroorzaken
    }
    catch (FileNotFoundException ex)
    {
        // Extra verwerking of logging
        Console.WriteLine($"Bestand niet gevonden: {ex.FileName}");
    
        // De uitzondering opnieuw werpen voor verdere verwerking hoger in de stack
        throw;
    }
    

Het gebruik van throw is belangrijk voor:

  • Het aangeven van fouten of onverwachte situaties in de applicatie.
  • Het maken van aangepaste uitzonderingen voor specifieke fouten.
  • Het doorgeven van foutinformatie aan de aanroepende code voor correcte verwerking.