try/catch/finally
Nauczą się Państwo używać try, catch i finally do bezpiecznej obsługi błędów wykonania.
try/catch/finally to bezpłatna lekcja Java Academy na CoddyKit. To lekcja 1 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 Java Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Java Academy zawiera 3 lekcji w sumie.
Wprowadzenie
Programy czasami napotykają błędy: nieprawidłowe dane wejściowe, brakujące pliki lub dzielenie przez zero. Wyjątki to sposób języka Java na obsługę takich sytuacji bez przerywania działania programu.
Przegląd try/catch
Umieść ryzykowny kod w bloku try. Jeśli wystąpi wyjątek, sterowanie zostanie przekazane do pasującego bloku catch. Dzięki temu można poprawnie obsłużyć błędy.
Kod: prosty try/catch
Ten kod przechwytuje ArithmeticException i wyświetla zrozumiały komunikat zamiast przerywać działanie programu.
public class Main {
public static void main(String[] args) {
try {
int x = 10 / 0; // risky division
System.out.println("Result=" + x);
} catch (ArithmeticException e) {
System.out.println("Cannot divide by zero!");
}
}
}
Wiele bloków catch
Można umieścić wiele bloków catch, aby osobno obsługiwać różne typy wyjątków. Kolejność ma znaczenie: bardziej szczegółowe bloki należy umieścić przed ogólnymi.
Kod: wiele bloków catch
NullPointerException zostaje przechwycony przez przeznaczony dla niego blok. Każdy typ można obsłużyć w inny sposób.
public class Main {
public static void main(String[] args) {
try {
String s = null;
System.out.println(s.length()); // NullPointerException
} catch (ArithmeticException e) {
System.out.println("Math error");
} catch (NullPointerException e) {
System.out.println("Null reference error");
}
}
}
Kod: blok finally
Blok finally jest wykonywany niezależnie od tego, czy wystąpi wyjątek. Należy go używać do sprzątania, na przykład zamykania plików.
public class Main {
public static void main(String[] args) {
try {
int[] arr = {1,2};
System.out.println(arr[5]); // ArrayIndexOutOfBounds
} catch (ArrayIndexOutOfBoundsException e) {
System.out.println("Bad index!");
} finally {
System.out.println("Finally block always runs");
}
}
}
Sprawdzenie finally
Szybkie sprawdzenie: jaki jest cel bloku finally?
Podsumowanie
Podsumowanie: try obsługuje ryzykowny kod, catch reaguje na błędy, a finally jest uruchamiany za każdym razem w celu wykonania czynności porządkowych.
Często zadawane pytania
Czy lekcja „try/catch/finally” jest bezpłatna?
Tak — pełny tekst „try/catch/finally” 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 Java Academy, przejdź na CoddyKit PRO. Kurs Java Academy zawiera 3 lekcji w sumie.
Co nauczysz się w „try/catch/finally”?
Nauczą się Państwo używać try, catch i finally do bezpiecznej obsługi błędów wykonania. Ćwiczysz Java 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ąć Java Academy?
Nie wymagamy żadnego doświadczenia. Java 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 1 z 3.
Ile czasu zajmuje lekcja „try/catch/finally”?
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 Java Academy?
Tak. Każda lekcja Java 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
- try/catch/finally
- Wyjątki sprawdzane i niesprawdzane
- Odczytywanie stack trace