0Pricing
C# Academy · Lekcja

Prosta diagnostyka: wyjątki a sprawdzanie warunków

Stosuj sprawdzanie warunków dla oczekiwanych nieprawidłowych danych wejściowych, zgłaszaj wyjątki w sytuacjach wyjątkowych i używaj try/catch do eleganckiej obsługi błędów.

Prosta diagnostyka: wyjątki a sprawdzanie warunków to bezpłatna lekcja C# Academy na CoddyKit. To lekcja 3 z 3. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej C# Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs C# Academy zawiera 3 lekcji w sumie.

Przegląd diagnostyki

Cel: Używanie kontroli ochronnych w przypadku przewidywanych problemów oraz wyjątków w przypadku rzadkich, poważnych problemów.

Przykład kontroli ochronnej

Kontrole ochronne zwracają status zamiast zgłaszać wyjątek w przypadku często występujących nieprawidłowych danych wejściowych.

using System;

public class Program
{
  public static bool TryDivide(int a, int b, out int result)
  {
    if (b == 0)
    {
      result = 0;
      return false; // guard check fails
    }
    result = a / b;
    return true;
  }

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

Przykład wyjątku

Wyjątki przerywają wykonywanie, chyba że zostaną obsłużone. Należy używać ich w przypadku nieoczekiwanych lub poważnych warunków.

using System;

public class Program
{
  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)
  {
    try
    {
      int total = PriceWithTax(100, 20);
      Console.WriteLine("Total=" + total);
    }
    catch (Exception ex)
    {
      Console.WriteLine("Error: " + ex.Message);
    }
  }
}

Łączenie kontroli i wyjątków

Należy łączyć oba podejścia: kontrole ochronne stosować do rutynowej walidacji, a wyjątki do nieprawidłowych stanów.

using System;

public class Program
{
  public static bool TryParsePrice(string text, out int value)
  {
    return int.TryParse(text, out value); // guard check
  }

  public static int GetDiscount(int code)
  {
    if (code < 0) throw new ArgumentException("Invalid code"); // exception
    return 10;
  }

  public static void Main(string[] args)
  {
    int v;
    if (TryParsePrice("123", out v))
    {
      Console.WriteLine("Parsed " + v);
    }

    try
    {
      int d = GetDiscount(-1);
      Console.WriteLine("Discount=" + d);
    }
    catch (Exception ex)
    {
      Console.WriteLine("Error: " + ex.Message);
    }
  }
}

Przykład try/catch

Należy używać try/catch do obsługi wyjątków i podtrzymania działania programu.

using System;

public class Program
{
  public static void Main(string[] args)
  {
    try
    {
      int x = 10;
      int y = 0;
      int z = x / y; // will throw DivideByZeroException
      Console.WriteLine(z);
    }
    catch (DivideByZeroException ex)
    {
      Console.WriteLine("Cannot divide by zero: " + ex.Message);
    }
  }
}

Wskazówki

Wskazówki:

  • Kontrole ochronne zwracają bezpieczne wartości domyślne w typowych przypadkach.
  • Wyjątki powinny być rzadkie i mieć konkretne znaczenie.
  • Należy przechwytywać tylko te wyjątki, które można obsłużyć.

Kontrola ochronna czy wyjątek

Szybkie sprawdzenie: Kiedy należy wybrać kontrole ochronne zamiast zgłaszania wyjątków?

Podsumowanie

Podsumowanie: Kontrole ochronne należy stosować w przypadku często występujących nieprawidłowych danych wejściowych, wyjątki zgłaszać w przypadku wyjątkowych stanów, a konstrukcji try/catch używać wtedy, gdy możliwe jest odzyskanie działania.

Często zadawane pytania

Czy lekcja „Prosta diagnostyka: wyjątki a sprawdzanie warunków” jest bezpłatna?

Tak — pełny tekst „Prosta diagnostyka: wyjątki a sprawdzanie warunków” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu C# Academy, przejdź na CoddyKit PRO. Kurs C# Academy zawiera 3 lekcji w sumie.

Co nauczysz się w „Prosta diagnostyka: wyjątki a sprawdzanie warunków”?

Stosuj sprawdzanie warunków dla oczekiwanych nieprawidłowych danych wejściowych, zgłaszaj wyjątki w sytuacjach wyjątkowych i używaj try/catch do eleganckiej obsługi błędów. Ćwiczysz C# Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć C# Academy?

Nie wymagamy żadnego doświadczenia. C# Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 3 z 3.

Ile czasu zajmuje lekcja „Prosta diagnostyka: wyjątki a sprawdzanie warunków”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji C# Academy?

Tak. Każda lekcja C# Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. if/else, switch (klasyczny), pętle: for, while, do, foreach
  2. break/continue; goto (unikać); zakres; wyjątki a sprawdzanie warunków
  3. Prosta diagnostyka: wyjątki a sprawdzanie warunków
← Powrót do C# Academy