GeeksforGeeks (Norsk)

I Java, det er to typer unntak:

1) Sjekket: er unntakene som er merket av på kompilere tid. Hvis noen kode i en metode som kaster en kontrollert unntak, da metoden må enten håndtere unntak eller det må spesifisere unntak bruke kaster søkeord.

For eksempel, tenk deg følgende Java-program som åpner filen på location «C:\test\a.txt» og skriver ut de tre første linjene av det., Programmet ikke kompilere, fordi funksjonen main() bruker FileReader() og FileReader() kaster et kontrollert unntak FileNotFoundException. Den bruker også readLine() og lukk() metoder, og disse metodene også kaste sjekket unntak IOException



Output:

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)

for Å løse de ovennevnte program, vi verken trenger å spesifisere listen over unntak ved hjelp av kaster, eller vi må bruke try-catch-blokk. Vi har brukt kaster i under programmet., Siden FileNotFoundException er en underklassen av IOException, vi kan bare angi IOException i kast liste og gjøre ovenfor program kompilatoren-feil.



Output: tre Første linjene i filen «C:\test\a.txt»

2) Merket er unntakene som ikke er kontrollert på samlet tid. I C++, alle unntak er avmerket, så det er ikke tvunget av kompilatoren til enten å håndtere, eller angi et unntak. Det er opp til den programmerere til å være sivilisert, og angi eller fange unntak.,
I Java unntak i henhold Feil og RuntimeException klasser er avmerket unntak, alt annet under throwable er sjekket.

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

bør du Vurdere følgende Java-program. Det kan kompilere fint, men det kaster ArithmeticException når du kjører. Kompilatoren gjør det mulig å kompilere, fordi ArithmeticException er en ukontrollert unntak.,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?,
Se Ukontrollert Unntak — Striden for detaljer.

Skal vi gjøre vårt unntak innsjekket eller ikke?
Følgende er den nederste linjen fra Java dokumenter
Hvis en klient med rimelighet kan forventes for å komme seg fra et unntak, gjør det til en kontrollert unntak. Hvis en klient kan ikke gjøre noe for å gjenopprette fra unntaket, gjør det til en ukontrollert unntak

Java Hjørne på GeeksforGeeks

Vennligst skriv kommentarer hvis du finner noe feil, eller du ønsker å dele mer informasjon om temaet er diskutert ovenfor.

Oppmerksomhet leser! Ikke slutte å lære nå., Få tak i alle de viktige Java Foundation og Samlinger konsepter med det Grunnleggende av Java og Java-Samlinger Kurs hos student-vennlig pris og blitt industri klar.

Artikkelen Tagger :

Java

Praksis Tagger :

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *

Hopp til verktøylinje