De Java-taal biedt uitzondering model zodat ontwikkelaars situaties waarin de normale uitvoering van het programma fout gaat aankan . Er zijn vele manieren waarop een programma kan een onverwachte wending nemen , maar enkele algemene soorten activiteiten zijn gevoelig voor deze situaties , zoals de input /output , verwerking met arrays en een aantal rekenkundige berekeningen . Het hebben van een begrip van hoe de uitzonderingen in uw Java-programma's te behandelen is een van de belangrijkste vaardigheden die betrokken zijn in het worden een ontwikkelaar . Instructies 1 Maak uw Java-programma , met behulp van het volgende schema als je klas en belangrijkste methode : import java.io. * ; public class ExceptionDemo { public static void main ( String [ ] args ) { FileWriter fileOut = new FileWriter ( " outputfile.txt " ) ; PrintWriter afdruk = new PrintWriter ( fileOut ) ; printOut.println ( " tekst wordt afgedrukt op bestand" ) ; printOut.close ( ) op ; fileOut.close ( ) op ; } } Als u deze code plakken in een IDE ( Integrated Development Environment ) die code fouten wijst , zal je zien dat het zelfs niet in staat zal zijn om te compileren , want er is een " niet-afgehandelde uitzondering . " De FileWriter constructor methode kan een uitzondering , bijvoorbeeld als het bestand dat u hebt opgegeven niet kan worden gevonden Place 2 van de code met de niet-verwerkte uitzondering in een blok " proberen " als volgt : . try { FileWriter fileOut = new FileWriter ( " outputfile.txt " ) ; PrintWriter afdruk = new PrintWriter ( fileOut ) ; printOut.println ( " tekst wordt afgedrukt op bestand " ) ; printOut.close ( ) ; fileOut.close ( ) op ; } Dit moet voorkomen dat de compiler van klagen over de lijnen die werden veroorzaakt onverwerkte uitzondering fouten , maar zal een nieuw type fout maken, omdat het " proberen" statement is nog niet compleet . Het " proberen " statement is eigenlijk een container voor code die een uitzondering kunnen werpen , maar je moet nog steeds staat wat er moet gebeuren als een uitzondering is in feite gegooid . 3 Insert a " vangen " statement als volgt ( na sluiting " proberen " bracket ) : catch ( IOException bm ) { System.err.println ( " IOException opgetreden : " + ioe.getMessage ( ) ) ; } Dit moet genoeg zijn om de compiler tevreden te houden , en zal u toelaten om uw programma uit te voeren zijn. Echter , alles wat je hebt gedaan is voorkomen dat het programma crasht als een uitzondering op dit punt wordt gegooid . Afhankelijk van de details van uw aanvraag , kunt u andere code hier plaatst om na te denken wat er in je blok " proberen " , als die code niet werden uitgevoerd . Zodra de uitzondering wordt gegooid , zal de uitvoering rechtstreeks naar het " catch " code . 4 Voeg extra uitzondering handlers . Afhankelijk van de aard van het programma , kan het wenselijk zijn om verschillende code bevatten voor specifieke uitzondering . Bijvoorbeeld , voordat de " IOException " handler kon je onder andere : catch ( FileNotFoundException fnfe ) { System.err.println ( " FileNotFoundException opgetreden : " + fnfe.getMessage ( ) ) ; } genealogie Dit is een meer specifiek type fout dan de IOException , dus als de uitzondering gegooid is geen FileNotFoundException , de code zal in plaats daarvan naar het meer algemene IOException handler . Chaining uw uitzonderingshandlers op deze manier kunt u bepalen wat er moet gebeuren voor elk type fout .
|