Sobes.tech
Intern

Czym jest wyjątek?

sobes.tech AI

Odpowiedź od AI

Wyjątek to zdarzenie, które zakłóca normalny przebieg wykonywania programu. Powstaje w wyniku błędu lub nieprzewidzianej sytuacji.

Wyjątki dzielą się na:

  • Kontrolowane (Checked): wymagają obsługi lub deklaracji w sygnaturze metody (np. podczas pracy z plikami lub siecią).
  • Niekontrolowane (Unchecked) lub Wyjątki czasu wykonania (RuntimeException): zazwyczaj wskazują na błędy w logice programu i nie wymagają jawnej obsługi (np. dzielenie przez zero lub wyjście poza zakres tablicy).
  • Błędy (Errors): reprezentują poważne problemy, z których program zazwyczaj nie powinien się odzyskiwać (np. brak pamięci).

Mechanizm obsługi wyjątków pozwala oddzielić kod obsługujący błędy od głównego przepływu logiki programu. Zwiększa to czytelność i łatwość utrzymania kodu.

Do obsługi wyjątków używa się bloków try-catch-finally (w Java, C#) lub podobnych konstrukcji (try-except-finally w Pythonie).

try {
    // Kod, który może wywołać wyjątek
    int result = 10 / 0; // ArithmeticException
} catch (ArithmeticException e) {
    // Obsługa konkretnego wyjątku
    System.err.println("Błąd: " + e.getMessage());
} catch (Exception e) {
    // Obsługa innych wyjątków
    System.err.println("Wystąpił nieprzewidziany błąd");
} finally {
    // Kod, który jest wykonywany niezależnie od tego, czy wystąpił wyjątek
    System.out.println("Blok finally wykonany");
}