GeeksforGeeks (Nederlands)

in Java zijn er twee soorten uitzonderingen:

1) Checked: zijn de uitzonderingen die worden gecontroleerd tijdens het compileren. Als een code binnen een methode een aangevinkte uitzondering gooit, dan moet de methode ofwel de uitzondering behandelen of de uitzondering specificeren met behulp van gooit trefwoord.

bijvoorbeeld, overweeg het volgende Java programma dat bestand op locatie opent “C:\test\a.txt” en drukt de eerste drie regels af., Het programma compileert niet, omdat de functie main () gebruikt FileReader () en FileReader () gooit een gecontroleerd uitzondering FileNotFoundException. Het maakt ook gebruik van readline() en close() methoden, en deze methoden gooien ook checked exception IOException



Output:

Exception in thread "main" java.lang.RuntimeException: Uncompilable source code - unreported exception java.io.FileNotFoundException; must be caught or declared to be thrown at Main.main(Main.java:5)

om het bovenstaande programma op te lossen, moeten we ofwel een lijst met uitzonderingen opgeven met worpen, ofwel moeten we try-catch block gebruiken. We hebben gebruikt gooit in het onderstaande programma., Aangezien FileNotFoundException is een subklasse van IOException, we kunnen gewoon opgeven IOException in de lijst gooit en maak het bovenstaande programma compiler-foutloos.



uitvoer: eerste drie regels van het bestand “C:\test\a.txt”

2) niet aangevinkt zijn de uitzonderingen die niet gecontroleerd worden tijdens het compileren. In C++ zijn alle uitzonderingen niet aangevinkt, dus wordt het niet door de compiler gedwongen om de uitzondering af te handelen of op te geven. Het is aan de programmeurs om beschaafd te zijn, en de uitzonderingen te specificeren of te vangen.,
In Java exceptions under Error en RuntimeException classes zijn niet aangevinkt exceptions, al het andere onder throwable is aangevinkt.

 +-----------+ | Throwable | +-----------+ / \ / \ +-------+ +-----------+ | Error | | Exception | +-------+ +-----------+ / | \ / | \ \________/ \______/ \ +------------------+ unchecked checked | RuntimeException | +------------------+ / | | \ \_________________/ unchecked

overweeg het volgende Java-programma. Het compileert prima, maar het gooit rekenkundige uitzondering wanneer uitgevoerd. De compiler staat het toe om te compileren, omdat ArithmeticException een ongecontroleerde uitzondering is.,2b7cfd03″>

;

int y = 10;
int z = y/x;
}
}



Output:

Exception in thread "main" java.lang.ArithmeticException: / by zero at Main.main(Main.java:5)Java Result: 1

Why two types?,
zie unchecked Exceptions-The Controversy voor details.

moeten we onze uitzonderingen aan-of uitzetten?
volgende is de bottom line Van Java documenten
als een client redelijkerwijs kan worden verwacht om te herstellen van een uitzondering, maak het een gecontroleerde uitzondering. Als een client niets kan doen om te herstellen van de uitzondering, maak het dan een niet-aangevinkte uitzondering

Java Corner op GeeksforGeeks

schrijf opmerkingen Als u iets incorrect vindt, of als u meer informatie wilt delen over het onderwerp hierboven besproken.

Attentie lezer! Stop nu niet met leren., Krijg greep van alle belangrijke Java Foundation en collecties concepten met de grondbeginselen van Java en Java Collections cursus tegen een student-vriendelijke prijs en industrie klaar.

Article Tags:

Java

Practice Tags:

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *

Spring naar toolbar