C# Academy · Les

break/continue; goto (vermijden); scope; exceptions versus guard checks

Gebruik break en continue correct, begrijp waarom goto wordt afgeraden, pas scope-regels veilig toe en kies tussen exceptions en guard checks.

Les 2 van 38 stappen

break/continue; goto (vermijden); scope; exceptions versus guard checks is een gratis C# Academy-les op CoddyKit. Dit is les 2 van 3. Je kunt de volledige les hieronder gratis lezen en daarna in de browser praktisch oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject C# Academy. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus C# Academy bevat in totaal 3 lessen.

Overzicht van de les

Doel: beheer de besturingsstroom van lussen met break/continue, vermijd goto, respecteer het bereik van variabelen en kies tussen uitzonderingen en controles vooraf.

break in actie

break verlaat de lus onmiddellijk.

using System;

public class Program
{
  public static void Main(string[] args)
  {
    for (int i = 1; i <= 10; i = i + 1)
    {
      if (i == 4)
      {
        Console.WriteLine("Stop at 4");
        break; // exit loop completely
      }
      Console.WriteLine("i = " + i);
    }
  }
}

continue in actie

continue slaat de huidige iteratie over en gaat naar de volgende.

using System;

public class Program
{
  public static void Main(string[] args)
  {
    for (int i = 1; i <= 5; i = i + 1)
    {
      if (i % 2 == 0)
      {
        continue; // skip even numbers
      }
      Console.WriteLine("Odd: " + i);
    }
  }
}

goto vermijden

goto maakt de besturingsstroom onoverzichtelijk; gebruik in plaats daarvan gestructureerde lussen (while/for/foreach).

using System;

public class Program
{
  public static void Main(string[] args)
  {
    // Goto works but harms readability; prefer structured loops.
    int i = 0;
start:
    i = i + 1;
    Console.WriteLine("i = " + i);
    if (i < 3)
    {
      goto start; // avoid using goto in real code
    }

    // Prefer: while loop (clear intent)
    int j = 0;
    while (j < 3)
    {
      j = j + 1;
      Console.WriteLine("j = " + j);
    }
  }
}

Basis van bereik

Bereik wordt bepaald door accolades { }. Declareer variabelen dicht bij het gebruik en vermijd hergebruik van namen in geneste blokken.

using System;

public class Program
{
  public static void Main(string[] args)
  {
    int x = 10; // outer scope
    if (x > 0)
    {
      int y = 5; // inner scope
      Console.WriteLine("x + y = " + (x + y));
    }
    // y is not visible here; this would not compile:
    // Console.WriteLine(y);

    // Shadowing (avoid reusing names in nested scopes)
    int value = 1;
    {
      int valueInner = 2; // use a new name instead of shadowing
      Console.WriteLine("value=" + value + ", inner=" + valueInner);
    }
  }
}

Basis van diagnostiek

Gebruik controles vooraf voor verwachte ongeldige invoer; gebruik uitzonderingen voor uitzonderlijke toestanden.

using System;

public class Program
{
  // Guard check: return a bool and an out parameter (no exception on normal invalid input).
  public static bool TryDivide(int x, int y, out int result)
  {
    if (y == 0)
    {
      result = 0;
      return false; // guard fail
    }
    result = x / y;
    return true;
  }

  // Exceptional state: throw when something truly exceptional happens.
  public static int PriceWithTax(int price, int ratePercent)
  {
    if (price < 0)
    {
      throw new ArgumentOutOfRangeException("price");
    }
    if (ratePercent < 0 || ratePercent > 100)
    {
      throw new ArgumentOutOfRangeException("ratePercent");
    }
    return price + (price * ratePercent / 100);
  }

  public static void Main(string[] args)
  {
    int r;
    bool ok = TryDivide(10, 0, out r);
    Console.WriteLine("TryDivide ok=" + ok + " result=" + r);

    try
    {
      int total = PriceWithTax(100, 18);
      Console.WriteLine("Total=" + total);
    }
    catch (Exception ex)
    {
      Console.WriteLine("Error: " + ex.Message);
    }
  }
}

break versus continue

Snelle controle: wat is het verschil tussen break en continue in een lus?

Samenvatting

Samenvatting: gebruik break om een lus te verlaten en continue om een iteratie over te slaan; vermijd goto; houd variabelen in het juiste bereik; geef de voorkeur aan controles vooraf voor verwachte ongeldige invoer en aan uitzonderingen voor uitzonderlijke toestanden.

Gratis beginnen

Leer C# met een AI-tutor — gratis

Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.

Cursussen
93
Lessen
346

Veelgestelde vragen

Is de les “break/continue; goto (vermijden); scope; exceptions versus guard checks” gratis?

Ja — de volledige tekst van “break/continue; goto (vermijden); scope; exceptions versus guard checks” kun je hier gratis op het web lezen. Als je interactief wilt oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is, en de rest van de cursus C# Academy wilt ontgrendelen, kun je upgraden naar CoddyKit PRO. De cursus C# Academy bevat in totaal 3 lessen.

Wat leer ik in “break/continue; goto (vermijden); scope; exceptions versus guard checks”?

Gebruik break en continue correct, begrijp waarom goto wordt afgeraden, pas scope-regels veilig toe en kies tussen exceptions en guard checks. Je oefent met C# Academy door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.

Heb ik ervaring nodig om met C# Academy te beginnen?

Ervaring vooraf is niet nodig. C# Academy op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 2 van 3.

Hoe lang duurt de les “break/continue; goto (vermijden); scope; exceptions versus guard checks”?

De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.

Kan ik code schrijven en uitvoeren in deze les over C# Academy?

Ja. Elke les over C# Academy bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.

Alle lessen in deze cursus

  1. if/else, switch (klassiek), lussen: for, while, do, foreach
  2. break/continue; goto (vermijden); scope; exceptions versus guard checks
  3. Eenvoudige diagnostiek: exceptions versus guard checks
← Terug naar C# Academy