Dator
 |  Startsida |  Hårdvara |  Nätverk |  Programmering |  Programvara |  Felsökning |  System |   
Programmering
  • C /C + + -programmering
  • Computer Programspråk
  • Delphi Programmering
  • Java Programming
  • JavaScript programmering
  • PHP /MySQL Programmering
  • perl Programmering
  • python Programming
  • Ruby programmering
  • Visual Basics Programmering
  • * Dator Kunskap >> Programmering >> Java Programming >> Content

    Hur man skapar undantagsklasser i Java

    programmeringsspråket Java tar ett undantag synsätt på hantering av feldetektering och hantering i koden . Snarare än att skapa ett komplext system av nästlade OM - else-uttryck för att försöka fånga alla möjliga fel , alla fel fånga kan organiseras i en serie av " try-catch " uttalanden i slutet av en funktion . Detta gör felkontroll för att komma ur vägen av programmets faktiska flödet och leder till mer läsbar , lättare att underhålla koden . Saker du behöver
    Computer Review, Java Runtime Environment Review, Java Development Kit
    textredigerare eller Java IDE
    Visa fler instruktioner
    1

    Välj moderklass . Varje underklass av java.lang.Exception kan användas som förälder för ett nytt undantag klass . Men för det här exemplet ska du använda grundläggande Exception klassen som förälder . Undantag ger oss alla de grundläggande behoven för ett undantag : det är throwable , det kan skriva ut en stackspårning , och tillåter att ett meddelande hämtas om naturen av undantaget
    2

    Skapa en underklass som . utökar den överordnade klassen . Detta är detsamma som att alla andra subklass i Java . För bra kod läsbarhet , är det standard att alltid avsluta klassen med ordet " Exception " . För detta exempel , kommer du att bygga ett undantag för att hantera dåliga indata , kallas , helt enkelt nog , BadUserInputException .

    Public class BadUserInputException utökar Exception { }

    Denna kod ensam faktiskt ger dig allt du måste omedelbart börja kasta och fånga detta undantag , och i många fall kommer detta att vara allt du behöver . Addera 3

    Lägg några unika egenskaper för din undantag . Du kanske vill att din undantaget klassen att ha några unika egenskaper utöver förmågan att kastas och fångas med en stackspårning skriva ut . Så kommer du lägga till några nya uppgifter till undantag klassen

    public class BadUserInputException utökar Exception { private String inputString , .

    Offentliga getInputString ( ) {return ( inputString ) ;}

    offentliga BadUserInputException ( String input ) { super ( ) ; inputString = ingång; } ; }

    nu kommer din undantag har en extra funktion , getInputString ( ) , som kan kallas när din undantag genereras till få en kopia av den dåliga användarens input i fråga som ska skrivas till en fellogg eller granskas av programmet för att avgöra vad man ska göra härnäst .
    4

    Lägg en throw-sats till funktioner som kan orsaka undantaget att inträffa. Ett undantag är värdelös om den kastas av någon funktion . En throw passerar i huvudsak ett fel upp i stacken för att möjliggöra en högre del av programmet för att avgöra vad som ska göras med den . Denna BadUserException kommer att kastas genom ett getUserInput ( ) funktionen , passande nog :

    /*** Javadoc för getUserInput . Du vill nämna här * Denna funktion kastar en BadUserInputException * så att du vet att fånga det senare . * @ Throws BadUserInputException Om dålig ingång inträffar . * @ Return användarens input om inget undantag genereras . * /Public String getUserInput ( ) kastar BadUserInputException { BufferedReader i = new BufferedReader ( ny InputStreamReader ( System.in ) ) , String input = in.readLine ( ) , om ( validInput ( input ) kasta BadUserInputException ( ingång ) ; ! annars retur ingång; }
    5

    Lägg koden för att fånga undantaget när funktioner med den används detta gör att ditt program för att reagera på fel i ett rent kontrollerat sätt koden för att göra detta kommer att se ut så här enkelt exempel : . .

    public void gameLoop ( ) { try { printMenu ( ) , String val = getUserInput ( ) , om ( choice.equals ( " Q " ) ) quit ( ) , annars fortsätter ( ) ;} catch ( BadUserIputException e ) { System.out . println ( " ERROR : " + e.getInputString ( ) + " : . är inte giltiga indata ) ;} } Addera

    Tidigare:

    nästa:
    relaterade artiklar
    ·Plotta Verktyg för Java
    ·Hur man installerar Eclipse för BlackBerry
    ·Hur att öka storleken textfält i en Java-applet
    ·Hur man skriver strängar till en textfil i Java
    ·Hur tar jag bort en apostrof från en sträng i Java
    ·Hur man skriver en egen enkel Java Message Queue
    ·Även Funktion i Java
    ·Hur man byter specialtecken i en Java String
    ·Hur får man en referens till en Java- tråd
    ·Hur till Öppen JPanel i Java
    Utvalda artiklarna
    ·Hur göra en felsökning i NetBeans i Java
    ·Hur du använda Access för Visual Basic program
    ·Hur Extrahera en tabell från DMP
    ·Hur att jämställa två saker i en if-sats i C + +
    ·Hur man genomför Class Priority Queue Använda Array
    ·Hur urkopplat rubriker i PHP
    ·Hur Monitor Connection Pool i Sun Java 7 JVM Alternativ…
    ·Hur man testa om Iterable i Python
    ·Min fråga är snabb i MySQL och långsam i PHP
    ·Hur man klarar genom hänvisning i Java
    Copyright © Dator Kunskap http://www.dator.xyz