Forskjellen Mellom Kontrollert Og Ukontrollert Unntak I Java

Innholdsfortegnelse:

Forskjellen Mellom Kontrollert Og Ukontrollert Unntak I Java
Forskjellen Mellom Kontrollert Og Ukontrollert Unntak I Java

Video: Forskjellen Mellom Kontrollert Og Ukontrollert Unntak I Java

Video: Forskjellen Mellom Kontrollert Og Ukontrollert Unntak I Java
Video: Разъясняю что такое оперативная память 2024, Kan
Anonim

Nøkkelforskjell - Kontrollert mot ukontrollert unntak i Java

Et unntak er en kjøretidsfeil. Det er to typer unntak, kjent som avmerkede og ukontrollerte unntak. Når et avkrysset unntak oppstår, er Java-applikasjonen koblet til en ekstern ressurs, for eksempel en fil, enhet eller database. Disse unntakene sjekkes av kompilatoren. Noen eksempler på avmerkede unntak er IO-unntak og FileNotFound-unntak. Når et unchecked unntak oppstår, er applikasjonen ikke koblet til noen ressurs utenfor. Disse unntakene sjekkes ikke av kompilatoren. Noen eksempler på unchecked unntak er Arithmetic Exception og ArrayOutOfBound Exception. Denne artikkelen diskuterer forskjellen mellom avmerket og unchecked unntak i Java. Hovedforskjellen mellom avkrysset og ukontrollert unntak i Java er at et avkrysset unntak blir sjekket av kompilatoren, mens et ukontrollert unntak ikke er avkrysset av kompilatoren.

INNHOLD

1. Oversikt og nøkkelforskjell

2. Hva er kontrollert unntak i Java

3. Hva er ukontrollert unntak i Java

4. Likheter mellom krysset og ukontrollert unntak i Java

5. Sammenligning ved siden av hverandre - Kontrollert mot ukontrollert unntak i Java i tabellform

6. Sammendrag

Hva er sjekket unntak i Java?

Når et merket unntak oppstår, er Java-applikasjonen koblet til en ekstern ressurs. Denne ressursen kan være en enhet som skriver. Det kan være en fil eller en database. Derfor sjekkes disse unntakene av kompilatoren. IO-unntak er et kontrollert unntak. Det oppstår på grunn av en feil i enheten. Når applikasjonen får tilgang til en fil som ikke eksisterer, vil det føre til et FileNotFound-unntak. Et program 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 et SQL-unntak. Dette er noen eksempler på avmerkede unntak. I alle disse er applikasjonen koblet til en ytre ressurs. I avmerkede unntak er det obligatorisk å håndtere unntaket. Hvis det ikke håndteres, vil den korrekte flyten av programmet bli avsluttet,og klassefilen vil ikke bli generert. Feilen kan håndteres ved hjelp av prøve, fangstblokk.

Forskjellen mellom kontrollert og ukontrollert unntak i Java
Forskjellen mellom kontrollert og ukontrollert unntak i Java

Figur 01: Kontrollert unntakshåndtering

I henhold til det ovennevnte leste FileReader data fra filen. Text1.txt-filen eksisterer ikke det angitte stedet. Koden som kan gi unntaket er plassert inne i prøveblokken. Meldingen som skal skrives er inne i fangstblokken. Siden det ikke er noen fil som heter text1.txt, forårsaker dette et FileNotFoundException. Ved å bruke unntakshåndtering skrives meldingen ut på skjermen.

Hva er ukontrollerte unntak i Java?

Ikke-merkede unntak blir ikke sjekket av kompilatoren. I motsetning til i avmerkede unntak, med unchecked unntak, er Java-applikasjonen ikke koblet til en ytre ressurs som fil, database eller en enhet. Noen vanlige unchecked 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 koden nedenfor.

Forskjellen mellom kontrollert og ukontrollert unntak i Java Figur 02
Forskjellen mellom kontrollert og ukontrollert unntak i Java Figur 02

Figur 02: Aritmetisk unntakshåndtering

I følge programmet ovenfor er variabel a et heltall. Variabel b er 0. Divisjonen av disse to tallene er en divisjon med null. Derfor vil det føre til et aritmetisk unntak. Det kan håndteres ved hjelp av prøvefangstblokk. Uttalelsene som kan forårsake unntaket er plassert inne i prøveblokken. Meldingen som skal vises, er i fangstblokken.

Se koden nedenfor.

int array1 = {1,2,3,4,5};

System.out.println (array1 [5]);

Dette vil føre til et unntak. Array1 er en matrise med 5 elementer. Startindeksen til matrisen er null. Utskrift av den femte indeksverdien forårsaker et unntak fordi den er utenfor bundet. Maksimum indeks for array1 er 4.

Hovedforskjellen mellom krysset og ukontrollert unntak i Java
Hovedforskjellen mellom krysset og ukontrollert unntak i Java

Figur 03: ArrayOutOfBound Unntakshåndtering

I henhold til det ovennevnte programmet har array1 fem elementer. Utskrift av elementet med indeks 6 vil føre til et unntak fordi det er utenfor bundet. Maksimumsindeksen som kan lagres i matrise1 er 5. Feilmeldingen skrives ut ved å utføre fangstblokken.

Hva er likheten mellom sjekket og ukontrollert unntak i Java

Både avkrysset og ukontrollert unntak i Java er unntakstyper i Java

Hva er forskjellen mellom krysset og ukontrollert unntak i Java?

Diff Article Midt før tabell

Krysset av mot ukontrollert unntak i Java

Et merket unntak er en kjøretidsfeil som sjekkes av kompilatoren. Et unchecked unntak er en kjøretidsfeil som ikke blir sjekket av kompilatoren.
Hendelse
Når et avkrysset unntak oppstår, er Java-applikasjonen koblet til en ytre ressurs, for eksempel fil, enhet eller en database. Når et unchecked unntak oppstår, er ikke Java-applikasjonen koblet til en ytre ressurs.
Eksempler
IOException, FileNotFoundException, SQLException er noen eksempler på avmerkede unntak. Det aritmetiske unntaket, ArrayOutOfBoundException, NullPointerException er noen eksempler på unchecked unntak.

Sammendrag - Kontrollert mot ukontrollert unntak i Java

Et unntak er en hendelse som avbryter gjennomføringen av programflyten. Det er to typer unntak. De kalles avmerkede unntak og ukontrollerte unntak. Denne artikkelen diskuterte forskjellen mellom et krysset unntak og ukontrollerte unntak. Forskjellen mellom avkrysset og ukontrollert unntak i Java er at et avkrysset unntak blir sjekket av kompilatoren, mens et ukontrollert unntak ikke er avkrysset av kompilatoren. Ettersom unntak påvirker riktig flyt av programutførelse, er det en god programmeringspraksis å håndtere dem.

Anbefalt: