Java programmeringssprog tager en undtagelser tilgang til håndtering af fejlsøgning og håndtering i koden. Snarere end at skabe et komplekst system af indlejrede if-else udsagn til at forsøge at fange alle mulige fejl, fejl fange kan organiseres i en række " try-catch " udsagn i slutningen af en funktion. Dette giver fejl kontrol for at komme ud af vejen af programmets faktiske flow og fører til mere læsbar , nemmere at vedligeholde koden. Hvad du har brug
Computer
Java Runtime Environment
Java Development Kit
Text editor eller Java IDE
Vis Flere Instruktioner
1
Vælg forælder klasse . Enhver underklasse af java.lang.Exception kan anvendes som forælder for en ny undtagelse klasse . Men for dette eksempel , skal du bruge den grundlæggende Exception klasse som en forælder. Undtagelse giver os alle de basale fornødenheder af en undtagelse : Det er Throwable , den kan udskrive en stak spor , og giver et budskab , der skal hentes om arten af undtagelsen
2
Opret en underklasse , der . udvider denne forælder klasse. Dette er det samme som at skabe nogen anden underklasse i Java . For god kode læsbarhed er det standard altid at afslutte klassen navn med ordet " Exception " . I dette eksempel vil du opbygge en undtagelse til håndtering dårlig bruger-input, kaldet blot nok BadUserInputException .
Public class BadUserInputException udvider Exception {}
Denne kode alene faktisk giver dig alt, hvad du nødt til omgående at begynde at kaste og fange denne undtagelse , og i mange tilfælde vil det være alt hvad du behøver .
3
Tilføj de unikke funktioner til din undtagelse. Du vil måske din undtagelse klasse til at have nogle unikke funktioner rækker ud over evnen til at blive kastet og fanget med en stak spor udskrive . Så vil du tilføje nogle nye oplysninger til din undtagelse klasse
public class BadUserInputException udvider Exception { private String inputString ; .
Offentlig getInputString () { return ( inputString );}
< p> offentlige BadUserInputException (String input) { super (); inputString = input ;} ;}
nu vil din undtagelse have en ekstra funktion, getInputString (), som kan kaldes når som helst din undtagelse kastet til få en kopi af den dårlige brugerinput i spørgsmål, der skal udskrives en fejllog eller undersøgt af programmet til at bestemme, hvad de skal gøre næste .
4
Tilføj et indkast erklæring til funktioner, der kan medføre, at undtagelsen at forekomme . En undtagelse er værdiløs , medmindre det er kastet af nogle funktion . Et kast erklæring hovedsagelig passerer en fejl op i stakken for at tillade et højere niveau del af programmet til at bestemme , hvad der skal ske med den. Denne BadUserException vil blive kastet af en getUserInput () funktion , passende nok : Hej
/*** javadoc for getUserInput . Du ønsker at nævne her * at denne funktion kaster en BadUserInputException * så du ved at fange den senere. * @ Kaster BadUserInputException Hvis dårlige input opstår. * @ Return brugerens input, hvis nogen undtagelse kastes . * /Public String getUserInput () kaster BadUserInputException { BufferedReader i = new BufferedReader (ny InputStreamReader ( System.in )), String input = in.readLine (); if ( validInput (input) kaster BadUserInputException (input ) ! ellers tilbagevenden input ;}
5
Tilføj kode til at fange undtagelsen når funktioner bruger det bruges dette vil give dit program til at reagere på fejl i en rent kontrolleret måde koden til at gøre det vil ligne dette simple eksempel: . .
public void gameLoop () { try { printMenu (); String valg = getUserInput (); if ( choice.equals ( "Q" ) ) afslutte (); ellers fortsætte ( );} catch ( BadUserIputException e ) { System.out . println ( "FEJL :" + e.getInputString () + " : . er ikke gyldig input) ;}}