De Java- taal is ontworpen om fouten en andere onverwachte gebeurtenissen met een uitzondering begrip behandelen . Wanneer een fout optreedt , wordt een uitzondering object gegenereerd en doorgegeven ( of gegooid ) de oproep stack totdat hij een methode ontwikkeld om ( of vangen ) die uitzondering te behandelen vindt . Java wordt geleverd met tientallen uitzondering objecten , maar programmeurs kunnen ook hun eigen te maken . Het definiëren van een Aangepaste uitzonderingen Class Aangepaste uitzonderingen worden op exact dezelfde manier gedefinieerd als elke andere Java-klasse . De enige belangrijke regel is dat een uitzondering de Exception klasse moet uitstrekken in de java.lang bibliotheek . Dit gebeurt op dezelfde manier andere klasse breidt andere. Een voorbeeld van een door de gebruiker gedefinieerde uitzondering zou zijn : klasse MyException breidt Uitzondering { } U kunt uw eigen methoden en constructeurs toe te voegen aan uw uitzondering klas om te passen aan uw doeleinden , maar alleen door de basisklasse uitbreiding krijg je de standaard uitzondering constructeurs en methoden , inclusief de mogelijkheid om foutmeldingen te definiëren . het gooien van een Aangepaste uitzonderingen als u de aangepaste uitzondering te gebruiken , moet je het ergens gooien in het programma , hetzelfde als elke andere uitzondering . Bijvoorbeeld , de volgende triviale voorbeeld illustreert hoe u een uitzondering op een methode voorkomen dat delen door nul : publieke dubbele kloof ( dubbel dividend , dubbele deler ) gooit MyException { if ( deler == 0 ) throw new MyException ( " Division by zero geprobeerd ! " ) ; return dividend /deler ; } het probleem controleert of de deler gelijk aan nul . Als het is, dan is een nieuwe MyException object wordt gemaakt en gegooid met een passende foutmelding . Welk deel van het programma met de naam van de functie " kloof" zou dan verantwoordelijk zijn voor de beslissing hoe om te gaan met de uitzondering. Waarom gebruik Uitzonderingen ? Fout controle is een essentieel onderdeel van elk programma . Zelfs als het werk van de programmeur is perfect , de input van de gebruiker , het lokale bestandssysteem en het internet is zelden of nooit , moet perfect , dus programma's voorbereid om te gaan met problemen. Vaak echter het gedeelte van de code die het probleem vindt niet het deel van de code best geschikt voor het probleem . Een functie die een paragraaf van tekst verdeelt in woorden zou , idealiter , geen zorgen te maken over de vraag of een lege paragraaf is een fout die vereist het sluiten van het programma , een vreemde gebeurtenis die moet worden gemeld aan de gebruiker , of irrelevant . Uitzonderingen toestaan om het probleem te melden aan andere delen van het programma die beter geschikt zijn om te corrigeren . Waarom Aangepaste Uitzonderingen ? Java geleverd met tientallen uitzonderingen klassen voorgedefinieerde echter soms helpt om een reeks afwijkingen die beter passen bij de problemen bij de hand , zodat het programma gemakkelijker kunnen reageren. Bijvoorbeeld , in plaats van generieke Java's " InvalidArugmentException , " het deel van de code die verantwoordelijk is voor het herstellen van fouten kan nodig zijn om meer detail over het probleem te weten . Dit zou kunnen gebeuren door het verdelen van de uitzondering in aangepaste " UnexpectedNullArgumentException " en " OutOfRangeException . "
|