Dator > hur man skapar undantag klasser i Java

  • hur man skapar undantag klasser i Java


  • Programmeringsspråket Java tar ett undantag strategi för hantering av feldetektering och hantering i koden . Snarare än att skapa ett komplext system av nästlade if- else-uttryck för att försöka fånga alla möjliga fel , kan alla fel fångst ordnas i en serie av " try-catch " uttalanden i slutet av en funktion . Detta gör felkontroll för att få ur vägen av programmets verkliga flödet och leder till mer lättläst , enklare att underhålla kod

    Du behöver : .
    Computer
    Java Runtime Environment .
    Java Development Kit .
    Textredigerare eller Java IDE .


    1 .
    Välj en förälder klass . Varje underklass java. lang. Exception kan användas som den förälder till ett nytt undantag klass . Men för det här exemplet ska du använda de grundläggande Exception klassen som förälder . Undantag ger oss alla de grundläggande behoven av ett undantag : det är throwable kan den skriva ut en stackspårning , och tillåter ett meddelande som ska hämtas om vilken typ av undantag
    2
    . Skapa en underklass som utökar denna förälder klass . Detta är samma sak som att alla andra underklass i Java . För bra kod läsbarhet , är det standard att alltid avsluta klassnamnet med ordet "undantag" . I det här exemplet kommer du att bygga ett undantag för att hantera dåliga användarens inmatningar , kallas helt enkelt nog, BadUserInputException .

    public class BadUserInputException utökar Exception { }


    Denna kod ensam faktiskt ger dig allt du behöver för att omedelbart börja kasta och fånga detta undantag , och i många fall Detta kommer att vara allt du behöver .
    3 .
    Lägg alla unika funktioner för ditt undantag . Du kanske vill att din undantag 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 din undantag klass .

    public class BadUserInputException utökar Exception {
    privat String inputString ;

    offentliga getInputString () {return ( inputString ) ; }

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


    Nu kommer din undantag har en extra funktion , till getInputString ( ) , som kan kallas när som helst din undantag genereras för att få en kopia av den dåliga användardata i fråga ska skrivas ut till en fellogg eller undersökas av programmet för att avgöra vad man ska göra härnäst.
    4 .
    Lägg till en throw till funktioner som kan orsaka undantag uppstå . Ett undantag är värdelös om den inte kastas av någon funktion . En throw huvudsak passerar ett fel upp bunten för att möjliggöra en högre nivå en del av programmet för att avgöra vad som ska göras med den . Detta BadUserException kommer att kastas av en getUserInput () -funktionen , passande nog :

    /**
    * Javadoc för getUserInput . Du vill nämna här
    * att denna funktion kastar en BadUserInputException
    * så att du vet att fånga det senare .
    * @ kastar BadUserInputException Om dåliga inmatning sker .
    * @ return användarens input om inga undantag kastas .
    * /
    public String getUserInput ( ) kastar BadUserInputException {
    BufferedReader in=ny BufferedReader ( ny InputStreamReader ( System. in )) ;
    String indata=in. readLine () ; !
    om ( validInput ( ingång ) kasta BadUserInputException ( input) ;
    annan avkastning ingång .
    }
    5
    Lägg kod för att fånga undantag när funktioner använder den används Detta gör att ditt program att reagera på fel i en 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ätta () ; }
    catch ( BadUserIputException e) {
    System. out. println ( " FEL : " + e. getInputString ( ) + " : är inte giltig input) ; }

    }

    tips och varningar


    <. li > Du kanske märker att en annan klass som härrör från Throwable klassen är fel . Även om det är möjligt att skapa egna Fel subklasser , det är inte rekommenderat som fel är tänkt att representera allvarliga situationer som en typisk ansökan inte bör försöka fånga .


Previous:Vilka är fördelarna med Java uppgradera ? Next:Hur konvertera meter till fots i Java





Relaterade artiklar


  • hur du återvinner en GCC Toner
  • hur man får digital satellit för att spela på en Mac
  • min microsds fungerar inte i SD-
  • IPAD hemligheter
  • hur man öppnar locket till en Toshiba A215
  • Targus Wireless Presenter instruktioner
  • SONY PCG r505el specifikationer
  • hur man använder en LCD-skärm med en stationär
  • hur man använder Logitech Z Cinema med ett Creative SoundBlaster ljudkort
  • LCD restbild problem