GeeksforGeeks (Polski)

w Javie istnieją dwa rodzaje WYJĄTKÓW:

1) Checked: są wyjątki, które są sprawdzane podczas kompilacji. Jeśli jakiś kod w metodzie rzuca zaznaczony wyjątek, to metoda musi albo obsłużyć wyjątek, albo musi określić wyjątek za pomocą słowa kluczowego throw.

na przykład rozważ następujący program Java, który otworzy plik w lokalizacji „C:\test\a.txt” i drukuje trzy pierwsze linijki., Program nie kompiluje się, ponieważ funkcja main() używa filereader () i FileReader() rzuca zaznaczony wyjątek FileNotFoundException. Używa również metod readLine() I close (), a te metody również rzucają zaznaczony wyjątek IOException



Wyjście:

Exception in thread "main" java.lang.RuntimeException: Uncompilable source code - unreported exception java.io.FileNotFoundException; must be caught or declared to be thrown at Main.main(Main.java:5)

aby naprawić powyższy program, musimy albo określić listę wyjątków za pomocą rzutów, albo użyć bloku try-catch. Użyliśmy rzutów w poniższym programie., Ponieważ FileNotFoundException jest podklasą IOException, możemy po prostu określić IOException na liście rzutów i sprawić, że powyższy kompilator będzie wolny od błędów.



Wyjście: pierwsze trzy linie pliku „C:\test\a.txt”

2) zaznaczone są wyjątki, które nie są sprawdzane w czasie kompilacji. W C++ wszystkie wyjątki nie są zaznaczone, więc kompilator nie jest zmuszony do obsługi lub określenia wyjątku. Do programistów należy Cywilizacja i określenie lub wyłapanie WYJĄTKÓW.,
w Javie wyjątki pod klasami Error i RuntimeException są wyjątkami niezaznaczonymi, Wszystko inne pod klasą throwable jest zaznaczone.

 +-----------+ | Throwable | +-----------+ / \ / \ +-------+ +-----------+ | Error | | Exception | +-------+ +-----------+ / | \ / | \ \________/ \______/ \ +------------------+ unchecked checked | RuntimeException | +------------------+ / | | \ \_________________/ unchecked

rozważ następujący program Java. Kompiluje się dobrze, ale rzuca ArithmeticException podczas uruchamiania. Kompilator pozwala na kompilację, ponieważ ArithmeticException jest niezaznaczonym wyjątkiem.,2b7cfd03″>

;

int y = 10;
int z = y/x;
}
}



Output:

Exception in thread "main" java.lang.ArithmeticException: / by zero at Main.main(Main.java:5)Java Result: 1

Why two types?,
Zobacz wyjątki — kontrowersje po szczegóły.

czy nasze wyjątki powinny być zaznaczone czy niezaznaczone?
poniżej znajduje się podsumowanie z dokumentów Java
Jeśli można racjonalnie oczekiwać, że klient odzyska wyjątek, zrób z niego wyjątek sprawdzony. Jeśli klient nie może zrobić nic, aby odzyskać wyjątek, zrób z niego niezaznaczony wyjątek

Java Corner on GeeksforGeeks

napisz komentarze, jeśli znajdziesz coś nieprawidłowego lub chcesz podzielić się więcej informacji na temat omawianego powyżej tematu.

Uwaga czytelniku! Nie przestawaj się teraz uczyć., Zdobądź wszystkie ważne koncepcje Java Foundation i Collections dzięki kursowi podstawy Javy i kolekcji Java w przyjaznej dla studentów cenie i stań się gotowy na branżę.

Tagi artykułów:

Java

Tagi ćwiczeń:

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

Przejdź do paska narzędzi