Java:
Obsługa błędów
Jak to zrobić:
Java używa wyjątków do obsługi błędów. Ryzykowny kod umieszcza się w bloku try
oraz przechwytuje wyjątki w bloku catch
. Oto prosty przykład:
public class PrzykladObslugiBledow {
public static void main(String[] args) {
try {
int wynik = dzielenie(10, 0);
System.out.println("Wynik to: " + wynik);
} catch (ArithmeticException e) {
System.out.println("Ups, nie można dzielić przez zero!");
}
}
private static int dzielenie(int licznik, int mianownik) {
return licznik / mianownik;
}
}
Wynik:
Ups, nie można dzielić przez zero!
Wnikliwe spojrzenie
Obsługa błędów w Javie ewoluowała. Na początku nie było wyjątków; programiści sprawdzali kody błędów. Następnie Java wprowadziła bloki try-catch, umożliwiające bardziej elegancką obsługę błędów.
Alternatywami dla tradycyjnych bloków try-catch
są try-with-resources
dla automatycznego zamykania zasobów i czystszego kodu, wprowadzone w Java 7.
Szczegóły implementacji mają znaczenie. Na przykład łapanie Exception
lub Throwable
jest zazwyczaj złą praktyką. Jest to zbyt ogólne i maskuje błędy, o których możesz nie wiedzieć. Trzymaj się konkretnych wyjątków.
Zobacz również
- Oficjalne tutoriale Oracle Java na temat wyjątków: https://docs.oracle.com/javase/tutorial/essential/exceptions/
- Dokumentacja instrukcji
try-with-resources
w Javie: https://docs.oracle.com/javase/tutorial/essential/exceptions/tryResourceClose.html - Effective Java autorstwa Joshuy Blocha, dla najlepszych praktyk dotyczących wyjątków.