Wyjątki w Java

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 rzuca TicketBookingException, jeśli użytkownik próbuje zarezerwować więcej biletów, niż jest dostępne.
  • Obsługa wyjątku: W metodzie main klasy TicketBookingApp, wywołanie metody bookTicket jest umieszczone w bloku try, co pozwala na przechwycenie i obsłużenie wyjątku TicketBookingException. 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.

Scroll to Top