Trzy typy wyjątków w Javie

Błędy są zmorą zarówno użytkowników, jak i programistów. Programiści oczywiście nie chcą, aby ich programy przewracały się na każdym kroku, a użytkownicy są teraz tak przyzwyczajeni do błędów programy, które niechętnie akceptują płacenie ceny za oprogramowanie, które prawie na pewno będzie zawierało co najmniej jeden błąd to. Jawa ma na celu dać programistom sportową szansę na zaprojektowanie aplikacji bezbłędnej. Istnieją wyjątki, o których programista będzie wiedział, że istnieje możliwość interakcji aplikacji z zasobem lub użytkownikiem, a wyjątki te można obsłużyć. Niestety są wyjątki, których programista nie może kontrolować lub po prostu pomija. Krótko mówiąc, wszystkie wyjątki nie są sobie równe, dlatego programista może pomyśleć o kilku typach.

Wyjątkiem jest zdarzenie, które powoduje, że program nie może przepłynąć w zamierzonym wykonaniu. Istnieją trzy typy wyjątków - sprawdzony wyjątek, błąd i wyjątek czasu wykonywania.

Sprawdzony wyjątek

Sprawdzone wyjątki to wyjątki, z którymi aplikacja Java powinna sobie poradzić. Na przykład jeśli aplikacja odczytuje dane z pliku, powinna być w stanie obsłużyć plik

instagram viewer
FileNotFoundException. W końcu nie ma gwarancji, że oczekiwany plik będzie tam, gdzie powinien. W systemie plików może się zdarzyć wszystko, o czym aplikacja nie miałaby pojęcia.

Aby przejść do tego przykładu o krok dalej. Powiedzmy, że używamy FileReader klasa do odczytu pliku znaków. Jeśli spojrzysz na Definicja konstruktora FileReader w interfejsie Java zobaczysz sygnaturę metody:

public FileReader (String fileName) zgłasza wyjątek FileNotFoundException.

Jak widać, konstruktor wyraźnie stwierdza, że FileReader konstruktor może wyrzucić FileNotFoundException. Ma to sens, ponieważ jest wysoce prawdopodobne, że Nazwa pliku Od czasu do czasu łańcuch będzie niepoprawny. Spójrz na następujący kod:

public static void main (String [] args) { FileReader fileInput = null; // Otwórz plik wejściowy. fileInput = nowy FileReader („Untitled.txt”); }

Składnie zdania są poprawne, ale ten kod nigdy się nie skompiluje. Kompilator zna FileReader konstruktor może wyrzucić FileNotFoundException i to kod wywołujący obsługuje ten wyjątek. Istnieją dwie możliwości - po pierwsze możemy przekazać wyjątek od naszej metody, określając a rzuca klauzula również:

public static void main (String [] args) zgłasza wyjątek FileNotFoundException { FileReader fileInput = null; // Otwórz plik wejściowy. fileInput = nowy FileReader („Untitled.txt”); }

Lub możemy poradzić sobie z wyjątkiem:

public static void main (String [] args) { FileReader fileInput = null; próbować. { // Otwórz plik wejściowy. fileInput = nowy FileReader („Untitled.txt”); } catch (FileNotFoundException ex) { // powiedz użytkownikowi, aby poszedł i znalazł plik. } }

Dobrze napisane aplikacje Java powinny być w stanie poradzić sobie ze sprawdzonymi wyjątkami.

Błędy

Drugi rodzaj wyjątku nazywany jest błędem. Kiedy wystąpi wyjątek JVM utworzy obiekt wyjątku. Wszystkie te obiekty pochodzą od Ogrzać klasa. The Ogrzać klasa ma dwie główne podklasy - Błąd i Wyjątek. The Błąd Klasa oznacza wyjątek, z którym aplikacja prawdopodobnie nie będzie w stanie sobie poradzić.

Te wyjątki są uważane za rzadkie. Na przykład w JVM może zabraknąć zasobów, ponieważ sprzęt nie jest w stanie poradzić sobie ze wszystkimi procesami, z którymi musi sobie poradzić. Możliwe jest, że aplikacja złapie błąd, aby powiadomić użytkownika, ale zazwyczaj aplikacja będzie musiała zostać zamknięta, dopóki nie zostanie rozwiązany podstawowy problem.

Wyjątki czasu wykonywania

ZA wyjątek czasu wykonywania występuje po prostu dlatego, że programista popełnił błąd. Napisałeś kod, wszystko wygląda dobrze dla kompilatora, a kiedy idziesz do uruchomienia kodu, przewraca się, ponieważ go próbował uzyskać dostęp do elementu tablicy, który nie istnieje lub błąd logiczny spowodował wywołanie metody z wartością null wartość. Lub dowolną liczbę błędów, które może popełnić programista. Ale to dobrze, dostrzegamy te wyjątki poprzez wyczerpujące testy, prawda?

Błędy i wyjątki czasu wykonywania należą do kategorii niesprawdzonych wyjątków.

instagram story viewer