Uitzonderingen kunnen veroorzaken Java-programma's te crashen , maar bij correct gebruik , maar ook waarmee programmeurs applicaties die kunnen omgaan met onverwachte gebeurtenissen te creëren . Aantal uitzonderingen komen vaak voor wanneer programma's proberen om nummers te ontleden , het omzetten van tekenreeksen in numerieke waarden . Als een Java- programma een werkwijze waarbij een aantal niet tot het verwachte type, kan deze een aantal Format uitzondering gooien . Door te begrijpen uitzonderingen , kunt u leren hoe u programma's die betrouwbare functionaliteit te creëren . Uitzondering Soorten Java-programma's kan veel verschillende soorten uitzondering te gooien . De Number Format Uitzondering is de meest voorkomende numerieke uitzondering. Een runtime- uitzondering , het breidt de Illegale Argument Exception klasse . Normaal uitzondering ontstaat wanneer een methode om te proberen een tekenreeks als een getal ontleden gebruiken , maar de inhoud van de tekenreeks geen getal van het juiste type . Want het is een ongecontroleerde uitzondering , kan uw programma's te compileren zonder uw Integrated Development Environment waarschuwen u over de mogelijke fout . De Number Format Exception treedt alleen op als een programma passeert ongepast ingang naar een methode , dus je kan alleen ontdekken wanneer uw applicatie draait . Oorzaken De taal Java wrapper klassen bieden objectrepresentaties van de primitieve types nummer, inclusief integer , float en double . Met behulp van deze klassen , kunnen programma's Tekenreekswaarden ontleden als numerieke typen , als volgt : Integer.parseInt ( " 3 " ) ; Deze code foutloos wordt uitgevoerd , omdat de doorgegeven string parameter bevat een getalswaarde. Echter , de volgende methode oproep veroorzaakt Java om een nummer Format Exception te gooien , omdat de string niet een nummer bevatten: Integer.parseInt ( " r " ) ; De volgende code veroorzaakt ook uitzondering , want hoewel de string is een getal , het is niet een geheel getal : Integer.parseInt ( " 3.5 " ) ; Alle p van deze code fragmenten te compileren en uit te voeren , zodat de programmeur kan alleen bewust worden van de fout tijdens de uitvoering. De waarden worden normaal gesproken niet expliciet voorzien , maar worden gelezen vanaf een externe bron of variabele waarde . Catching U kunt Nummer Formaat Uitzonderingen vangen als je programma's zijn waarschijnlijk te gooien . Door het toevoegen van uw nummer parseercode een try-blok , dan is het leveren van een vangst zwart nadat deze , kunt u programma's die zullen blijven functioneren , zelfs als een getalnotatie Uitzondering ontstaat creëren . De volgende voorbeeldcode geeft aan deze structuur : try { Integer.parseInt ( numString ) ;} catch ( NumberFormatException numExc ) { System.out.println ( numExc.getMessage ( ) ) ; } het ontleden reeks in dit geval wordt voorgesteld als een variabele referentie , zodat de inhoud onbekend is . Als de string inhoud niet kan worden ontleed als een integer , de code springt onmiddellijk naar de catch blok , waar je alternatieve verwerkingsmethoden kan bieden . Throwing Evenals vangen uitzonderingen , kunnen ontwikkelaars Java- programma's waarin ze gooien aangepaste uitzonderingen te maken . Dit is een veelgebruikte tactiek met ongecontroleerde uitzonderingen zoals Number Format . De volgende gewijzigde code toont : catch ( NumberFormatException numExc ) { throw new BadNumberException ( ) ; } Dit stelt programmeurs in staat om hun eigen aangepaste uitzondering klasse, die een gecontroleerde type kan worden gedefinieerd , en om een geschikte coping- strategie voor de toepassing bieden .
|