GeeksforGeeks (Čeština)

V Javě existují dva typy výjimek:

1) Kontroloval: jsou výjimky, které jsou kontrolována v době kompilace. Pokud nějaký kód v rámci metody vyvolá zaškrtnutou výjimku,musí metoda buď zpracovat výjimku, nebo musí zadat výjimku pomocí klíčového slova hody.

zvažte například následující program Java, který otevře soubor na místě „C:\test\a.txt“ a vytiskne první tři řádky., Program není kompilovat, protože funkce main () používá FileReader() a FileReader () hodí kontrolovanou výjimku FileNotFoundException. To také používá readLine() a close() metody, a tyto metody také hodit zkontrolovat výjimka IOException



Výstup:

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)

opravit výše uvedený program, buď potřebujeme specifikovat seznam výjimek pomocí hody, nebo musíme použít try-catch bloku. Použili jsme hody v níže uvedeném programu., Vzhledem k tomu, že FileNotFoundException je podtřída Ioexcepce, můžeme v seznamu hodů zadat IOException a provést výše uvedený programový kompilátor-bezchybný.



Výstup: První tři řádky souboru „C:\test\a.txt“

2) Nekontrolované jsou výjimky, které nejsou kontrolovány na sestaven času. V C++ jsou všechny výjimky nezaškrtnuty, takže kompilátor není nucen ani zpracovat, ani specifikovat výjimku. Je na programátorech, aby byli civilizovaní, a určit nebo chytit výjimky.,
V Java výjimkách pod chybami a třídami RuntimeException jsou nezaškrtnuté výjimky, vše ostatní pod throwable je kontrolováno.

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

zvažte následující program Java. Sestavuje dobře, ale hodí Aritmeticexception při běhu. Kompilátor mu umožňuje kompilovat, protože Aritmeticexception je nekontrolovaná výjimka.,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?,
Viz nekontrolované výjimky-diskuse o podrobnostech.

měli bychom naše výjimky zkontrolovat nebo nekontrolovat?
následuje pointa z Java documents
pokud lze rozumně očekávat, že se klient zotaví z výjimky, udělejte z něj kontrolovanou výjimku. Pokud se klient nemůže udělat nic, aby zotavit se z výjimky, aby to nekontrolovanou výjimku,

Java Rohu na GeeksforGeeks

Prosím, psát komentáře, pokud najdete něco nesprávné, nebo chcete sdílet více informací o tématu diskutovali výše.

čtenář pozornosti! Nepřestávej se učit., Sehnat všech důležitých Java Foundation a sbírek konceptů se základy Java a Java kolekcí kurzu za student-friendly cenu a stát se průmysl připraven.

article Tags:

Java

practice Tags:

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *

Přejít k navigační liště