Wyjątki w Java to mechanizm obsługi błędów, który umożliwia bezpieczne i kontrolowane zarządzanie nieoczekiwanymi sytuacjami podczas wykonania programu. Mechanizm ten pozwala oddzielić kod odpowiedzialny za normalne działanie aplikacji od kodu obsługującego błędy. Dzięki temu programy są bardziej niezawodne i łatwiejsze w utrzymaniu. W tej lekcji przedstawimy, jak używać wyjątków w Java na przykładzie prostego systemu rezerwacji biletów.
Przykład kodu: System rezerwacji biletów z obsługą wyjątków
// Klasa reprezentująca wyjątek niemożności zarezerwowania biletu
class TicketBookingException extends Exception {
public TicketBookingException(String message) {
super(message);
}
}
// Klasa reprezentująca system rezerwacji biletów
class TicketSystem {
private int availableTickets = 5;
// Metoda do rezerwacji biletów
public void bookTicket(int tickets) throws TicketBookingException {
if (tickets > availableTickets) {
throw new TicketBookingException("Niewystarczająca liczba " +
"biletów dostępnych. Dostępne bilety: " + availableTickets);
} else {
availableTickets -= tickets;
System.out.println("Pomyślnie zarezerwowano " + tickets + " bilet(ów). " +
"Pozostało biletów: " + availableTickets);
}
}
}
// Główna klasa programu
public class TicketBookingApp {
public static void main(String[] args) {
TicketSystem ticketSystem = new TicketSystem();
try {
ticketSystem.bookTicket(3);
ticketSystem.bookTicket(4); // To wywołanie spowoduje wyjątek
} catch (TicketBookingException e) {
System.err.println(e.getMessage());
}
}
}
Wyjaśnienie działania programu
- Definicja własnego wyjątku:
TicketBookingException
to klasa wyjątku, którą definiujemy, aby obsłużyć specyficzne dla naszej aplikacji sytuacje, takie jak próba zarezerwowania większej liczby biletów, niż jest dostępna. - Klasa
TicketSystem
: Ta klasa symuluje system rezerwacji biletów. Posiada metodębookTicket
, która rzucaTicketBookingException
, jeśli użytkownik próbuje zarezerwować więcej biletów, niż jest dostępne. - Obsługa wyjątku: W metodzie
main
klasyTicketBookingApp
, wywołanie metodybookTicket
jest umieszczone w blokutry
, co pozwala na przechwycenie i obsłużenie wyjątkuTicketBookingException
. Dzięki temu, nawet w przypadku wystąpienia błędu, program może kontynuować działanie.
Podsumowanie
Obsługa wyjątków w Java umożliwia tworzenie bardziej elastycznych i odpornych na błędy aplikacji. Definiowanie własnych wyjątków pozwala na precyzyjne wskazanie problemów specyficznych dla danego kontekstu aplikacji, co ułatwia ich identyfikację i obsługę. W powyższym przykładzie zastosowanie wyjątków pozwala na eleganckie zarządzanie sytuacjami, gdy użytkownik próbuje zarezerwować więcej biletów, niż jest dostępnych, bez przerywania działania programu.
Jeżeli chcesz przyśpieszyć swoją naukę tworzenia stron chciałbym polecić mój kurs Java od podstaw w którym nauczysz się tego języka od podstaw do zaawansowanych jego aspektów.