Wat is het verschil tussen fouten en uitzonderingen?

Mogelijk duplicaat:
Verschillen tussen uitzondering en fout

Hoe kan ik onderscheid maken tussen fouten en uitzonderingen in Java?


Antwoord 1, autoriteit 100%

Een fout “duidt op ernstige problemen
dat een redelijke aanvraag zou moeten
niet proberen te vangen.”

terwijl

Een uitzondering “geeft voorwaarden aan
dat een redelijke toepassing zou kunnen
willen vangen.”

Fout samen met RuntimeException& hun subklassen zijn uncheckeduitzonderingen. Alle andere uitzonderingsklassen zijn checkeduitzonderingen.

Aangevinkteuitzonderingen zijn over het algemeen die waarvan een programma & het kan een goed idee zijn om programmatisch van dergelijke uitzonderingen te herstellen. Voorbeelden zijn FileNotFoundException, ParseException, enz. Van een programmeur wordt verwacht dat hij op deze uitzonderingen controleert door het try-catch-blok te gebruiken of het terug te gooien naar de beller

Aan de andere kant hebben we niet-aangevinkteuitzonderingen. Dit zijn die uitzonderingen die misschien niet gebeuren als alles in orde is, maar ze komen wel voor. Voorbeelden zijn onder meer ArrayIndexOutOfBoundException, ClassCastException, enz. Veel toepassingen gebruiken de clausule try-catchof throwsvoor RuntimeExceptions& hun subklassen, maar vanuit het taalperspectief is dit niet verplicht. Houd er rekening mee dat herstel van een RuntimeExceptionover het algemeen mogelijk is, maar de jongens die de klasse/uitzondering hebben ontworpen, vonden het niet nodig voor de eindprogrammeur om op dergelijke uitzonderingen te controleren.

Foutenzijn ook uitgevinkte uitzondering & de programmeur hoeft hier niets mee te doen. In feite is het een slecht idee om een ​​try-catch-clausule voor fouten te gebruiken. Meestal is herstel van een fout niet mogelijk & het programma moet kunnen worden beëindigd. Voorbeelden zijn OutOfMemoryError, StackOverflowError, enz.

Houd er rekening mee dat, hoewel fouten niet-aangevinkte uitzonderingen zijn, we niet moeten proberen ermee om te gaan, maar het is oké om met RuntimeExceptions(ook niet-aangevinkte uitzonderingen) in code om te gaan. Aangevinkte uitzonderingen moeten door de code worden afgehandeld.


Antwoord 2, autoriteit 9%

Erroren Exceptionbreiden beide Throwableuit, maar meestal wordt Errorgegenereerd door JVM in een scenario dat fataal en er is geen manier voor het toepassingsprogramma om van die fout te herstellen. Bijvoorbeeld OutOfMemoryError.

Hoewel zelfs een applicatie een Errorkan veroorzaken, maar het is gewoon geen goede gewoonte, in plaats daarvan zouden applicaties gecontroleerde uitzonderingen moeten gebruiken voor herstelbare voorwaarden en runtime-uitzonderingen voor programmeerfouten.


Antwoord 3, autoriteit 7%

Fout is iets waar je meestal niet mee om kunt gaan.

Uitzondering was bedoeld om je de kans te geven er iets mee te doen. probeer iets anders of schrijf naar het logboek.

try{
  //connect to database 1
}
catch(DatabaseConnctionException err){
  //connect to database 2
  //write the err to log
}

Antwoord 4, autoriteit 3%

Over het algemeen is een fout die niemand kan controleren of raden wanneer deze optreedt. Uitzondering kan worden geraden en kan worden afgehandeld.
In Java zijn Exception en Error een subklasse van Throwable. Het is gedifferentieerd op basis van de programmabesturing. Fout zoals OutOfMemory Error die geen programmeur kan raden en aankan. Het hangt dynamisch af van de architectuur, het besturingssysteem en de serverconfiguratie. Exception programmer kan het aan en kan wangedrag van de applicatie voorkomen. Als uw code bijvoorbeeld op zoek is naar een bestand dat niet beschikbaar is, wordt IOException gegenereerd. Dergelijke instanties kunnen de programmeur raden en kunnen het aan.

LEAVE A REPLY

Please enter your comment!
Please enter your name here

one + twenty =

Other episodes