Obsługa wyjątków
Obsługuj błędy wykonania w kontrolowany sposób, korzystając z technik obsługi wyjątków
Obsługa wyjątków to bezpłatna lekcja C# Academy na CoddyKit. To lekcja 3 z 5. 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 5 lekcji w sumie.
Wprowadzenie do obsługi wyjątków
Poznawanie obsługi wyjątków
Witamy na kolejnej lekcji! W tej lekcji dowiedzą się Państwo, czym jest obsługa wyjątków w języku C#, dlaczego jest ważna oraz jak skutecznie obsługiwać błędy w aplikacjach. Zaczynajmy!

Czym jest obsługa wyjątków?
Czym jest obsługa wyjątków?
Obsługa wyjątków to mechanizm kontrolowanego reagowania na błędy występujące podczas działania programu. Dzięki niemu program może prawidłowo obsługiwać nieoczekiwane sytuacje.
Najważniejsze: Obsługa wyjątków pomaga zapobiegać awariom aplikacji i przekazywać użytkownikom zrozumiałe informacje.
Blok try-catch
Blok try-catch
Blok try-catch służy do obsługi wyjątków. Kod, który może zgłosić wyjątek, umieszcza się w bloku try, a blok catch obsługuje wyjątek. Przykład:
Najważniejsze: W bloku catch należy używać konkretnych typów wyjątków, aby obsługiwać różne błędy.
using System;
class Program {
static void Main() {
try {
int result = 10 / 0; // This will throw a DivideByZeroException
} catch (DivideByZeroException ex) {
Console.WriteLine("Error: " + ex.Message);
}
}
}
Blok finally
Blok finally
Blok finally służy do wykonywania kodu, który musi zostać uruchomiony niezależnie od tego, czy wystąpi wyjątek. Przykład:
Wskazówka: Bloku finally należy używać do operacji porządkowych, takich jak zamykanie plików lub połączeń z bazą danych.
using System;
class Program {
static void Main() {
try {
int[] numbers = { 1, 2, 3 };
Console.WriteLine(numbers[5]); // This will throw an IndexOutOfRangeException
} catch (IndexOutOfRangeException ex) {
Console.WriteLine("Error: " + ex.Message);
} finally {
Console.WriteLine("This will always execute.");
}
}
}
Zgłaszanie wyjątków
Zgłaszanie wyjątków
Za pomocą słowa kluczowego throw można ręcznie zgłaszać wyjątki. Przykład:
Najważniejsze: Wyjątki należy zgłaszać, aby wymuszać przestrzeganie reguł lub obsługiwać nieprawidłowe sytuacje w aplikacji.
using System;
class Program {
static void Main() {
try {
ValidateAge(15);
} catch (Exception ex) {
Console.WriteLine("Error: " + ex.Message);
}
}
static void ValidateAge(int age) {
if (age < 18) {
throw new ArgumentException("Age must be 18 or older.");
}
}
}
Niestandardowe wyjątki
Niestandardowe wyjątki
Można definiować niestandardowe klasy wyjątków do obsługi konkretnych błędów aplikacji. Przykład:
Wskazówka: Niestandardowych wyjątków należy używać, aby przekazywać zrozumiałe komunikaty o błędach, dopasowane do logiki aplikacji.
using System;
class CustomException : Exception {
public CustomException(string message) : base(message) {}
}
class Program {
static void Main() {
try {
throw new CustomException("This is a custom exception.");
} catch (CustomException ex) {
Console.WriteLine("Caught custom exception: " + ex.Message);
}
}
}
Zadanie praktyczne
Zadanie praktyczne
Należy utworzyć program, który pobiera od użytkownika liczbę i zgłasza wyjątek, jeśli jest ona ujemna. Do obsługi wyjątku należy użyć bloku try-catch. Przykład:
using System;
class Program {
static void Main() {
try {
Console.WriteLine("Enter a number:");
int number = int.Parse(Console.ReadLine());
if (number < 0) {
throw new ArgumentException("Number cannot be negative.");
}
Console.WriteLine("You entered: " + number);
} catch (Exception ex) {
Console.WriteLine("Error: " + ex.Message);
}
}
}
Dobre praktyki dotyczące obsługi wyjątków
Dobre praktyki dotyczące obsługi wyjątków
Oto kilka dobrych praktyk:
- Należy przechwytywać wyłącznie konkretne wyjątki, aby nie ukrywać innych błędów.
- Do zwalniania zasobów należy używać bloku
finally. - Wyjątki należy zgłaszać w sytuacjach wyjątkowych, a nie do sterowania przepływem programu.
- Należy rejestrować wyjątki, aby śledzić problemy w środowiskach produkcyjnych.
Wskazówka: Prawidłowa obsługa wyjątków sprawia, że aplikacja jest bardziej odporna na błędy i przyjazna dla użytkownika.
Podsumowanie obsługi wyjątków
Świetna robota!
Gratulacje! Nauczyli się Państwo skutecznie obsługiwać wyjątki, aby tworzyć aplikacje odporne na błędy. W następnej lekcji poznają Państwo pracę z bazami danych w celu zarządzania danymi i wykonywania na nich zapytań. Kodujmy dalej!

Często zadawane pytania
Czy lekcja „Obsługa wyjątków” jest bezpłatna?
Tak — pełny tekst „Obsługa wyjątkó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 5 lekcji w sumie.
Co nauczysz się w „Obsługa wyjątków”?
Obsługuj błędy wykonania w kontrolowany sposób, korzystając z technik obsługi wyjątkó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 5.
Ile czasu zajmuje lekcja „Obsługa wyjątkó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
- Odczytywanie i zapisywanie plików
- Praca z JSON i XML
- Obsługa wyjątków
- Praca z bazami danych
- Używanie LINQ do zapytań dotyczących danych