Et unntak er en kjøretidsfeil. Det er to typer unntak kjent som sjekket og ukontrollert unntak. Når et kontrollert unntak oppstår, er Java-programmet koblet til en ekstern ressurs, for eksempel en fil, en enhet eller en database. Disse unntakene blir sjekket av kompilatoren. Noen eksempler på sjekket unntak er IO unntak og FileNotFound unntak. Når et ukontrollert unntak oppstår, er programmet ikke koblet til noen ekstern ressurs. Disse unntakene blir ikke sjekket av kompilatoren. Noen eksempler på ukontrollerte unntak er Aritmetisk unntak og ArrayOutOfBound Exception. Denne artikkelen diskuterer forskjellen mellom kontrollert og ukontrollert unntak i Java. De nøkkelforskjell mellom kontrollert og ukontrollert unntak i Java er det Et kontrollert unntak kontrolleres av kompilatoren mens et ukontrollert unntak ikke er merket av kompilatoren.
1. Oversikt og nøkkelforskjell
2. Hva er sjekket unntak i Java
3. Hva er Unchecked Exception i Java
4. Likheter mellom kontrollert og ukontrollert unntak i Java
5. Side ved side-sammenligning - sjekket vs ukontrollert unntak i Java i tabellform
6. Sammendrag
Når et kontrollert unntak oppstår, er Java-programmet koblet til en ekstern ressurs. Denne ressursen kan være en enhet som skriver. Det kan være en fil eller en database. Derfor kontrolleres disse unntakene av kompilatoren. IO unntak er et kontrollert unntak. Det oppstår på grunn av en feil i enheten. Når programmet har tilgang til en fil som ikke eksisterer, vil det føre til et FileNotFound-unntak. En applikasjon kan kobles til en database som MySQL, Oracle etc. for å lagre data. Hvis det oppstod en feil relatert til en database, ville det være en SQL-unntak. Det er noen eksempler på sjekket unntak. I alle disse er applikasjonen koblet til en ekstern ressurs. I sjekkede unntak er det obligatorisk å håndtere unntaket. Hvis den ikke håndteres, avsluttes den riktige strømmen av programmet, og klassefilen blir ikke generert. Feilen kan håndteres ved hjelp av prøve, fangstblokk.
Figur 01: Kontrollert unntakshåndtering
I henhold til ovenstående leser FileReader dataene fra filen. Text1.txt-filen eksisterer ikke i den angitte plasseringen. Koden som kan gi unntaket, er plassert inne i prøveblokken. Meldingen til utskrift er inne i fangstblokken. Siden det ikke er noen fil kalt text1.txt, fører dette til en FileNotFoundException. Ved å bruke unntakshåndtering, skrives meldingen til skjermen.
Ukontrollerte unntak blir ikke merket av kompilatoren. I motsetning til i sjekkede unntak, med ukontrollerte unntak, er ikke Java-applikasjonen koblet til en ekstern ressurs som fil, database eller en enhet. Noen vanlige ukontrollerte unntak er aritmetiske, ArrayOutOfBound og NullPointer-unntak.
int a = 10, b = 0;
int div = a / b;
System.out.println (div);
Dette vil føre til et aritmetisk unntak på grunn av dykking 'a' med null. Se under koden nedenfor.
Figur 02: Aritmetisk unntakshåndtering
I henhold til det ovennevnte programmet er variabel a et heltall. Variabel b er 0. Inndelingen av disse to tallene er en divisjon med null. Derfor vil det føre til et aritmetisk unntak. Den kan håndteres ved hjelp av prøveblokkering. Uttalelsene som kan føre til unntaket, er plassert i prøveblokken. Meldingen som skal vises er i fangstblokken.
Se under delen av koden.
int array1 [] = 1,2,3,4,5;
System.out.println (matrise1 [5]);
Dette vil føre til unntak. Array1 er en matrise med 5 elementer. Startindeksen for arrayet er null. Skriver ut 5th indeksverdi forårsaker et unntak fordi det er utelatt. Maksimal indeks for array1 er 4.
Figur 03: ArrayOutOfBound Exception Handling
I henhold til det ovennevnte programmet har array1 5 elementer. Hvis du skriver ut elementet med indeks 6, vil det føre til et unntak fordi det ikke er bundet. Maksimalindeksen som kan lagres i array1, er 5. Feilmeldingen skrives ut ved å utføre fangstblokken.
Sjekket vs Ukontrollert Unntak i Java | |
Et kontrollert unntak er en kjøretidsfeil som kontrolleres av kompilatoren. | Et ukontrollert unntak er en kjøretidsfeil som ikke er merket av kompilatoren. |
Hendelse | |
Når et kontrollert unntak oppstår, er Java-programmet koblet til en ekstern ressurs som fil, enhet eller database. | Når et ukontrollert unntak oppstår, er Java-programmet ikke koblet til en ekstern ressurs. |
eksempler | |
IOException, FileNotFoundException, SQLException er noen eksempler på sjekket unntak. | Det aritmetiske unntaket, ArrayOutOfBoundException, NullPointerException er noen eksempler på ukontrollerte unntak. |
Et unntak er en hendelse som forstyrrer utførelsen av programflyten. Det finnes to typer unntak. De kalles sjekket unntak og ukontrollerte unntak. Denne artikkelen diskuterte forskjellen mellom et kontrollert unntak og ukontrollerte unntak. Forskjellen mellom kontrollert og ukontrollert unntak i Java er at et kontrollert unntak er sjekket av kompilatoren mens et ukontrollert unntak ikke er merket av kompilatoren. Som unntak påvirker den riktige strømmen av programgjennomføring, er det en god programmeringspraksis å håndtere dem.
1.Point, opplæringsprogrammer. "Java-unntak.", Tutorials Point, 8. januar 2018. Tilgjengelig her
2.nareshtechnologies. Sjekket vs Ukontrollert Unntak || Core Java Vanlige spørsmål Videoer, Naresh i Technologies, 31. desember 2016. Tilgjengelig her