Denne artikkelen vil diskutere forskjellene mellom Java -feil og unntak.
Hva er forskjellen mellom feil og unntak i Java?
“Feil”I Java tilsvarer de kritiske sakene som ikke kan takles av koden. “Unntak”I det andre tilfellet kan det oppdages og serveres i koden for å sikre strømlinjeforming av koden:
Feil | Unntak |
Feil kan ikke gjenopprettes eller håndteres. | Unntakene kan håndteres via "Prøv ... fangst”Blokk. |
Feil er ikke kjent av kompilatoren. | Unntak kan eller ikke kan identifiseres av kompilatoren. |
Feil kan være syntaks eller logisk. | Disse kan ikke sjekkes eller sjekkes. |
Demonstrasjon av "Syntaksfeil"
For det første, la oss oversikt for forekomsten av "Syntaks”Feil:
int a = 2I denne koden, bare initialiser heltallet uten å spesifisere semi-kolon ";”Og vis det.
Produksjon
Den diskuterte koden vil resultere i logging av den viste “syntaksfeil”På grunn av en manglende semikolon.
Løsning
Som observert, ved plassering av “;”, Feilen forsvinner.
Demonstrasjon av "logisk feil"
La oss nå diskutere utseendet til "logisk”Feil:
KlasseforeldreI dette kodebiten, bruk trinnene under leverte:
Produksjon
I denne utgangen kan det sees at den uttalte begrensningen er vist. “StackOverflow”Feil er vanligvis forårsaket av uendelig rekursjon.
Løsning
I dette utfallet kan det antydes at ved å knytte til "super”Søkeord, forvirringen mellom identisk barn og foreldreklassefunksjon elimineres, og derfor forsvinner feilen.
Demonstrasjon av "unntak"
La oss nå diskutere følgende eksempel som angir makten og håndtert “unntak”:
prøvI denne kodeblokken:
Produksjon
Fra denne utgangen kan det analyseres at unntaket blir håndtert på riktig måte.
Konklusjon
“Feil”I Java kan ikke håndteres eller løses med koden, mens"Unntak”Kan oppdages og håndteres for å gjøre koden strømlinjeforme. Feilene blir en flaskehals ved å fortsette funksjonalitetene mens unntakene kan unngås. Denne bloggen diskuterte forskjellene mellom de ansatte feilene og unntakene i Java.