Skillnaden mellan fel och undantag i Java

Författare: Laura McKinney
Skapelsedatum: 2 April 2021
Uppdatera Datum: 6 Maj 2024
Anonim
Difference Between Exception and Error | Learn Coding
Video: Difference Between Exception and Error | Learn Coding

Innehåll


"Kastbar" fungerar som roten för Java: s fel- och undantagshierarki. “Error” är ett kritiskt tillstånd som inte kan hanteras med programkoden. "Undantag" är den exceptionella situationen som kan hanteras med programkoden. Den signifikanta skillnaden mellan fel och undantag är att en fel orsakas på grund av brist på systemresurser, och en undantag orsakas på grund av din kod. Låt oss studera andra skillnader mellan fel och undantag tillsammans med ett jämförelsediagram.

  1. Jämförelsediagram
  2. Definition
  3. Viktiga skillnader
  4. Slutsats

Jämförelsediagram

Grund för jämförelseFelUndantag
GrundläggandeEtt fel orsakas på grund av brist på systemresurser.Ett undantag orsakas på grund av koden.
ÅterhämtningEtt fel kan inte återvinnas.Ett undantag kan återvinnas.
NyckelordDet finns inget sätt att hantera ett fel med programkoden.Undantag hanteras med hjälp av tre nyckelord "prova", "fånga" och "kasta".
konsekvenser
Eftersom felet upptäcks avslutas programmet onormalt.Som ett undantag upptäcks kastas och fångas det av "kast" och "fånga" nyckelord på motsvarande sätt.
typer Fel klassificeras som okontrollerad typ.Undantag klassificeras som kontrollerad eller okontrollerad typ.
Paket I Java definieras fel "java.lang.Error" -paketet.I Java definieras ett undantag i "java.lang.Exception".
ExempelOutOfMemory, StackOverFlow.Kontrollerade undantag: NoSuchMethod, ClassNotFound.
Okontrollerade undantag: NullPointer, IndexOutOfBounds.


Definition av fel

Fel”Är en underklass av den inbyggda klassen” Kastbar ”. Fel är de kritiska förhållandena som uppstår på grund av bristen på systemresurser, och det kan inte hanteras med programkoden. Fel kan inte återvinnas på något sätt eftersom de inte kan skapas, kastas, fångas eller svara. Fel orsakas på grund av det katastrofala fel som vanligtvis inte kan hanteras av ditt program.

Fel är alltid av okontrollerad typ, eftersom kompilatorn inte har någon kunskap om dess förekomst. Fel uppstår alltid i körtidsmiljön. Felet kan förklaras med hjälp av ett exempel, programmet har ett fel med stackoverflöde, av minnesfel eller ett systemkraschfel. Denna typ av fel beror på systemet. Koden ansvarar inte för sådana fel. Konsekvensen av felet är att programmet avslutas onormalt.

Definition av undantag

"Undantag" är också en underklass av inbyggd klass "Kastbar". Undantag är de exceptionella förhållandena som uppstår i en körmiljö. De flesta gånger undantag orsakas på grund av koden för vårt program. Men undantag kan hanteras av själva programmet, eftersom undantag kan återvinnas. Undantag hanteras med hjälp av tre nyckelord "försök", "fånga", "kast". Syntaxen för att skriva ett undantag är:


prova {// skriv din kod här} Fånga (undantagstyp) {// skriv din kod här}

I koden ovan är koden som skrivs i försöksblocket den kod som du vill övervaka för undantaget. Om undantaget inträffar i ett försöksblock kastas det med nyckelordet "kast". Undantaget som kastas kan fångas av "fångst" -blocket i ovanstående kod. ”Undantagstyp” är typen av undantag som har inträffat.

Med enkla ord kan vi säga att misstagen inträffade på grund av felaktig kod kallas undantag. Om till exempel en begärd klass inte hittas eller en begärd metod inte hittas. Sådana undantag beror på koden i programmet; systemet är inte ansvarigt för sådana undantag. Undantagen klassificeras som "markerade" och "oavkryssade". Okontrollerade undantag har inte kunskap om kompilatorn eftersom de förekommer under körning, medan kompilatorn har kunskapen om kontrollerade undantag som de är kända för kompilatorn under sammanställningstiden.

  1. Fel uppstår endast när systemresurserna är brist medan ett undantag orsakas om en kod har något problem.
  2. Ett fel kan aldrig återställas medan ett undantag kan återställas genom att förbereda koden för att hantera undantaget.
  3. Ett fel kan aldrig hanteras men ett undantag kan hanteras med koden om koden som kastar ett undantag skrivs in i ett trygghetsblock.
  4. Om ett fel har inträffat avslutas programmet onormalt. Å andra sidan, om undantaget inträffar kommer programmet att kasta ett undantag, och det hanteras med try-och-fånga blocket.
  5. Fel är av okontrollerad typ, dvs fel är inte kännedom om kompilatorer, medan ett undantag klassificeras som kontrollerat och okontrollerat.
  6. Fel definieras i java.lang.Error-paketet, medan ett undantag definieras java.lang.Exception.

Slutsats:

Undantag är resultatet av misstag som gjorts i programkodningen, och felen är resultatet av systemets felaktiga funktion