Die Java-Sprache bietet die Ausnahme -Modell , so dass Entwickler Situationen, in denen die normale Programmausführung schiefgeht umgehen kann . Es gibt viele Möglichkeiten, ein Programm, eine unerwartete Wendung nehmen können , aber ein paar allgemeine Arten von Aktivitäten sind anfällig für diese Situationen, wie Input /Output , Verarbeitung mit Arrays und einige arithmetische Berechnungen . Nachdem ein Verständnis davon, wie Ausnahmen in Ihre Java-Programme verarbeiten ist eine der wichtigsten Fähigkeiten in immer ein Entwickler beteiligt. Anleitung
1
Erstellen Sie Ihre Java-Programm , mit dem folgenden Gliederung als Ihre Klasse und wichtigste Methode :
import java.io. *;
public class ExceptionDemo {
public static void main (String [] args ) {
FileWriter FileOut = new FileWriter ( " outputfile.txt ");
PrintWriter Ausdruck = new PrintWriter ( FileOut ) ;
printOut.println ("Text durchgeführt, um zu druckende Datei ");
printOut.close ();
fileOut.close ();
< p > }}
Wenn Sie diesen Code fügen Sie in eine IDE (Integrated Development Environment) , die Code Fehler markiert , werden Sie sehen, dass es nicht einmal in der Lage sein zu kompilieren , weil es eine " unbehandelte Ausnahme . " Die FileWriter Konstruktormethode können eine Ausnahme auslösen , zum Beispiel , wenn die Datei, die Sie angegeben haben, kann nicht gefunden werden
2
Platz den Code mit der unbehandelte Ausnahme in einem "try "-Block wie folgt: .
try {
FileWriter FileOut = new FileWriter ( " outputfile.txt ");
PrintWriter Ausdruck = new PrintWriter ( FileOut );
printOut.println ( " Text durchgeführt, um zu druckende Datei ");
printOut.close ();
fileOut.close (); }
Dies sollte verhindern Compiler beschweren sich über die Zeilen, die verursacht wurden unbehandelte Ausnahme Fehler , sondern eine neue Art des Fehlers zu erstellen , weil die " try" -Anweisung ist noch nicht vollständig. Die "Try "-Anweisung ist im Grunde ein Container für Code, der eine Ausnahme auslösen kann , aber Sie haben noch zu Staat , was passieren soll , wenn eine Ausnahme ist in der Tat geworfen .
3
Einfügen einer " fangen " Anweisung wie folgt ( nach der Schließung" versuchen " Klammer) :
catch ( IOException ioe ) {
System.err.println ( " IOException aufgetreten : "+ ioe.getMessage ( ) ); }
genug sein , damit der Compiler glücklich, und ermöglicht es Ihnen, Ihr Programm laufen soll. Allerdings ist alles, was Sie getan haben, verhindern das Programm abstürzt , wenn eine Ausnahme an dieser Stelle geworfen wird. Je nach den Details Ihrer Anwendung können Sie andere Code hier einfügen zu reflektieren , was in Ihrem " versuchen "-Block , wie die Code wird nicht ausgeführt worden sein. Sobald die Ausnahme ausgelöst wird , wird die Ausführung gleich zum " catch "-Code .
4
Fügen Sie zusätzliche Exception-Handler . Je nach Art des Programms, kann es ratsam sein , verschiedene Code für bestimmte Arten von Ausnahmen gehören . Zum Beispiel vor dem " IOException " Handler Sie könnten gehören:
catch ( FileNotFoundException fnfe ) {
System.err.println ( " FileNotFoundException aufgetreten :" + fnfe.getMessage ()) ;
}
Dies ist eine spezielle Art von Fehler als die IOException , so dass, wenn die Ausnahme ausgelöst ist kein FileNotFoundException , wird Ihr Code auf die allgemeinere IOException Handler statt zu springen. Verkettung Ihre Exception-Handler auf diese Weise können Sie diktieren , was genau sollte für jede Art von Fehler passieren.