Kontynuując wątek o wyjątkach w Javie, zostało jeszcze do obgadania tworzenie własnego wyjątku w języku Java! To też będzie niewielki materiał jedynie prezentujący istnienie czegoś takiego, żadne zaawansowane szczegóły 😊. Zapraszam!
TWORZENIE WŁASNEGO WYJĄTKU W JĘZYKU JAVA SPROWADZA SIĘ DO TEGO SAMEGO
Jeżeli wiesz jak tworzyć klasę, to już znasz metodę na utworzenie własnego wyjątku 👍. Bo to nie jest nic innego jak klasa potomna klasy "Exception", która jest klasą bazową dla każdego z wyjątków 😄! Serio:
public class MyException extends Exception {
}
Już 😁! Od tej pory w dowolnym miejscu w kodzie źródłowym, możesz sprowokować zgłoszenie wyjątku używając Twojego typu w instrukcji "throw":
throw new MyException();
Przydatność tworzenia własnych wyjątków w programie ma związek z tym, co przedstawiłem podczas tłumaczenia słowa kluczowego "throw". Chodzi o możliwość zdefiniowania własnych niestandardowych wyjątków, których nie ma w języku Java dla uwzględnienia sytuacji, które Ty uznajesz za niedopuszczalne, a nie program (np. z Twojego algorytmu już wynika, że nie zwróci prawidłowego wyniku, lecz nie dochodzi do zgłoszenia wyjątku i przerwania obliczeń) i ewentualne "opakowanie" tych znanych wyjątków we własne typy, ponieważ Twój wyjątek może dziedziczyć od już istniejącego wyjątku. Nie ma przeszkód:
import java. io.FileNotFoundException;
public class MyException extends FileNotFoundException {
}
Trzeba tylko dodać sobie import pakietu.
DEFINIOWANIE WŁASNEJ TREŚCI KOMUNIKATU W RAZIE ZGŁOSZENIA
Warto też znać możliwość definiowania własnej treści komunikatu kiedy Twój wyjątek zostanie zgłoszony. Używając wywołania konstruktora klasy bazowej:
public class MyException extends Exception {
public MyException() {
super("Treść mojego wyjątku.");
}
}
sprawiasz, że parametrem typu "String" przekażesz treść komunikatu w momencie zgłoszenia tego wyjątku ✅.
Tworzenie własnego wyjątku w języku Java polega na zdefiniowaniu klasy potomnej dziedziczącej od klasy "Exception". Wywołując konstruktor klasy bazowej, możesz zdefiniować treść komunikatu jaki się pojawi w momencie zgłoszenia!
To już wszystko 😀!