Die Programmiersprache Java nimmt eine Ausnahmen -basierten Ansatz zur Handhabung Fehlererkennung und Fehlerbehandlung im Code. Anstatt ein komplexes System von verschachtelten if- else-Anweisungen zu versuchen, jeden möglichen Fehler , die alle Fehler ihn in eine Reihe von " try-catch " -Anweisungen am Ende einer Funktion organisiert werden zu fangen. Dies ermöglicht Fehlerkorrektur , um aus dem Weg des Programms aktuelle Durchfluss und führt zu mehr lesbar , leichter zu pflegen Code. Things You
Computer Java Runtime Environment
Java Development Kit
Text -Editor oder Java IDE
brauchen anzeigen Weitere Anweisungen
1
wählen übergeordneten Klasse . Jede Unterklasse von java.lang.Exception kann als Muttergesellschaft für eine neue Exception-Klasse verwendet werden. Doch für dieses Beispiel verwenden Sie die grundlegenden Exception-Klasse als Elternteil . Exception gibt uns allen die Grundbedürfnisse einer Ausnahme : Es ist throwable , kann es einen Stack-Trace zu drucken, und ermöglicht eine Meldung über die Art der Ausnahme abgerufen werden
2
Erstellen Sie eine Unterklasse , dass . erweitert diese übergeordneten Klasse . Dies ist das gleiche wie das Erstellen einer anderen Unterklasse in Java. Für eine gute Lesbarkeit des Codes , ist es üblich, am Ende immer den Namen der Klasse mit dem Wort " Exception" . In diesem Beispiel werden Sie bauen eine Ausnahme für den Umgang mit schlechten Benutzereingaben, genannt , einfach genug , BadUserInputException .
Public class BadUserInputException extends Exception {}
Dieser Code allein tatsächlich gibt Ihnen alles, was Sie müssen sofort beginnen werfen und Fangen diese Ausnahme , und in vielen Fällen wird dies alles, was Sie brauchen.
3
Fügen Sie alle einzigartige Eigenschaften für Ihre Ausnahme. Sie können Ihre Exception-Klasse , um einige einzigartige Funktionen jenseits der Fähigkeit, geworfen und mit einem Stack-Trace ausdrucken gefangen werden müssen. Also, werden Sie einige neue Informationen zu Ihrem Exception-Klasse hinzufügen
public class BadUserInputException extends Exception {private String inputString ; .
Öffentlichen getInputString () {return ( inputString );}
< p > public BadUserInputException (String input) { super () ; inputString = input ;} ;}
Nun , Ihr Ausnahme wird eine zusätzliche Funktion haben , getInputString ( ), die jederzeit aufgerufen werden Ihre Ausnahme wird geworfen erhalten eine Kopie des schlechten Benutzereingaben in Frage zu einem Fehlerprotokoll ausgedruckt oder vom Programm untersucht , um zu bestimmen , was als nächstes zu tun .
4
hinzufügen throw-Anweisung , um Funktionen , die möglicherweise die Ausnahme verursachen auftreten. Eine Ausnahme ist wertlos, wenn sie nicht von einer Funktion ausgelöst wird . Eine throw-Anweisung im Wesentlichen leitet einen Fehler in den Stack , um ein höheres Maß Teil des Programms , um zu bestimmen , was mit ihr geschehen.
/*** Javadoc für GetUserInput : Dieses BadUserException wird von einem GetUserInput ()-Funktion , sinnigerweise geworfen werden. Sie möchten hier erwähnen, * dass diese Funktion eine BadUserInputException * wirft , so dass Sie sie später fangen wissen . * @ Throws BadUserInputException Wenn schlechte Eingabe erfolgt . * @ Return die Eingabe des Benutzers , wenn keine Ausnahme ausgelöst. * /Public String GetUserInput () wirft BadUserInputException { BufferedReader in = new BufferedReader ( new InputStreamReader ( System.in ) ); String input = in.readLine (); if ( ValidInput (Eingang) werfen BadUserInputException (Eingang); ! sonst Return-Eingang ;}
5
hinzufügen von Code , um die Ausnahme , wenn es mit Funktionen verwendet werden, fangen diese Weise können sie Ihr Programm auf Fehler in einer kontrollierten Art und Weise reagieren sauber Der Code zu tun, wird wie in diesem einfachen Beispiel aussehen: . .
public void gameLoop () { try { printMenu (); String Wahl = GetUserInput (); if ( choice.equals ( "Q") ) quit (); sonst weiter (); } catch ( BadUserIputException e) { System.out . println ( "ERROR :" + e.getInputString () + ": . ist nicht gültig input); }}