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-resourcesw Javie: https://docs.oracle.com/javase/tutorial/essential/exceptions/tryResourceClose.html - Effective Java autorstwa Joshuy Blocha, dla najlepszych praktyk dotyczących wyjątków.