GeeksforGeeks (Dansk)

i Java er der to typer undtagelser:

1) kontrolleret: er de undtagelser, der kontrolleres på kompileringstidspunktet. Hvis en kode inden for en metode kaster en kontrolleret undtagelse, skal metoden enten håndtere undtagelsen, eller den skal angive undtagelsen ved hjælp af kast søgeord.overvej for eksempel følgende Java-program, der åbner filen på stedet “C:\test\a.txt” og udskriver de første tre linjer af det. , Programmet ikke kompileres, fordi funktionen main() bruger FileReader() og FileReader() kaster en kontrolleret undtagelse FileNotFoundException. Det bruger også readLine() og close() metoder, og disse metoder også smide kontrolleret undtagelse 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 At løse ovenstående program, vi har brug for enten at angive listen over undtagelser ved hjælp af kast, eller er vi nødt til at bruge try-catch-blok. Vi har brugt kast i nedenstående program., Da FileNotFoundException er en underklasse af IOException, vi kan bare angive IOException i kast liste og gøre ovenstående program oversætter-fejl.



Output: tre Første linjer af en fil “C:\test\a.txt”

2) Ukontrolleret er de undtagelser, der er ikke er markeret på samlet tid. I C++ er alle undtagelser ikke markeret, så det er ikke tvunget af kompilatoren til enten at håndtere eller angive undtagelsen. Det er op til programmørerne at være civiliserede og specificere eller fange undtagelserne.,
I Java undtagelser i henhold til Fejl og RuntimeException klasser er markeret undtagelser, alt andet under throwable er markeret.

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

Overvej følgende Java-program. Det samler fint, men det kaster Arithmetice .ception når køre. Kompilatoren gør det muligt at kompilere, fordi Arithmeticeeptionception er en ukontrolleret undtagelse.,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 ikke — markerede undtagelser-kontroversen for detaljer.

skal vi gøre vores undtagelser kontrolleret eller ukontrolleret?
Følgende er bundlinjen fra Java-dokumenter
Hvis en klient med rimelighed kan forventes at komme sig efter en undtagelse, gør det til en kontrolleret undtagelse. Hvis en klient ikke kan gøre noget for at komme sig undtagelsen, gør det en ukontrolleret undtagelse

Java hjørne på GeeksforGeeks

skriv kommentarer, hvis du finder noget forkert, eller du ønsker at dele flere oplysninger om emnet diskuteret ovenfor.

opmærksomhed læser! Stop ikke med at lære nu., Få fat i alle de vigtige Java Foundation og Samlinger begreber med de Grundlæggende elementer i Java og Java Samlinger Kursus på en elev-venlige pris og blive branchen klar.

Artikel Tags :

Java

Praksis Tags :

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *

Videre til værktøjslinje