HTML Tutorials |
|
XML Tutorials |
|
Browser Scripting |
|
Server Scripting |
|
.NET (dotnet) |
|
Multimedia |
|
Web Building |
|
Java Tutorials |
|
Programming Langauges |
|
Soft Skills |
|
Database Tutorials |
|
Operating System |
|
Software Testing |
|
SAP Module |
|
Networking Programming |
|
Microsoft Office |
|
Accounting |
|
|
Errors and Exceptions in Java |
Die Java Sprache lassen Gebrauch Exceptions die Fehlerbehandlung Fähigkeiten für alle seine Programme zur Verfügung stellen. Hier du erlernen was ein Exceptionmittel tut, wie man die Exceptions, was, mit der Exception zu tun einmal, das du dich sie verfangen hast wirft und sich verfängt und wie man besten Gebrauch von der Exceptionkategorie Hierarchie bildet, die vom Java Entwicklung Klima bereitgestellt wird.
|
Was ist eine Exception?
|
Definition: Eine Exception ist ein Fall, der während der Durchführung des Programms auftritt, das den normalen Fluß der Anweisungen stört. Unterschiedliche Arten von Errors können Exceptions verursachen: Probleme, die von den ernsten Kleinteil Errors, wie Festplatte Abbruch, bis zu den einfachen Programmierung Errors reichen, wie das Versuchen, zugänglich zu machen heraus-von-springt Feldelement. Wenn solche Störung innerhalb einer Java Methode auftritt, verursacht die Methode einen Exceptiongegenstand und -hände es zum Laufzeitsystem. Der Exceptiongegenstand enthält die Informationen über Exception einschließlich seine Art und Zustand des Programms, als Störung auftrat. Laufzeitsystem ist dann verantwortlich, irgendeinen Code zu finden, um Störung anzufassen. In der Java Terminologie Exceptiongegenstand verursachend und ihn zum Laufzeitsystem übergebend wird „Werfen einer Exception“ benannt.
|
Verriegelung Hotjavas oder erklären Anforderung
|
import java.io.*;
import java.util.Vector;
class ListOfNumbers
{
private Vector victor;
final int size = 10;
public ListOfNumbers ()
{
int i;
victor = new Vector(size);
for (i = 0; i < size; i++)
victor.addElement(new Integer(i));
}
public void writeList()
{
PrintStream pStr = null;
System.err.println("Entering try statement");
int i;
pStr = new PrintStream(
new BufferedOutputStream(
new FileOutputStream("OutFile.txt")));
for (i = 0; i < size; i++)
pStr.println("Value at: " + i + " = " + victor.elementAt(i));
pStr.close();
}
}
|
|
Das Beispiel oben definiert und führt die Kategorie ein, die „ListOfNumbers“ genannt wird. Nach Aufbau verursacht die ListOfNumbers Kategorie einen Vektor, der 10 Ganzzahl Elemente mit aufeinanderfolgenden Werten 0 bis 9 enthält. ListOfNumbers Kategorie definiert auch die Methode „writeList ()“, die die Liste von Zahlen in die Textakte „OutFile.txt“ schreibt. Die writeList () Methode ruft zwei weitere Methoden auf, die Exceptions werfen können.
|
First,
pStr = new PrintStream(new BufferedOutputStream(new FileOutputStream("OutFile.txt")));
|
|
Diese Linie ruft den Erbauer für FileOutputStream hervor, das ein IOException wirft, wenn die Akte nicht aus irgendwelchen des Grundes geöffnet werden kann.
|
Second, the Vector class's elementAt() method
pStr.println("Value at: " + i + " = " + victor.elementAt(i));
|
|
Diese Methode wirft ArrayIndexOutOfBoundsException, wenn du einen Index führst dessen Wert sehr klein (negative Zahl) oder sehr groß ist (größer als Zahl der Elemente z.Z. enthalten durch den Vektor).
|
Wenn du versuchst, ListOfNumbers Kategorie zu kompilieren, druckt der Compiler die Fehlermeldung über eine Exception, die vom FileOutputStream Erbauer geworfen wird, aber er zeigt nicht die Fehlermeldung über eine Exception an, die durch elementAt geworfen wird (). Dieses ist, weil die Exception, die vom FileOutputStream Erbauer, IOException geworfen wird, Nichtlaufzeit Exception und die Exception geworfen durch elementAt () Methode ist, ArrayIndexOutOfBoundsException, ist die Laufzeit Exception. Java erfordert, um Nichtlaufzeit Exceptions nur sich zu verfangen oder zu erklären.
|
Eine Exception sich verfangen und anfassen
|
Der erste Schritt für das Konstruieren einer Exceptionzufuhr ist, Aussagen beizulegen, die Exception innerhalb des Versuchblockes werfen konnten. Im allgemeinen Versuchblockblicke etwas ähnliches:
|
|
Das Segment „Java Aussagen“ im Code oben besteht eine oder mehrer zugelassene Java Aussagen, die eine Exception möglicherweise werfen konnten. Um die Exceptionzufuhr für writeList () Methode von der ListOfNumbers Kategorie zu konstruieren, müssen wir die Exception-werfenden Aussagen über writeList () Methode innerhalb des Versuchblockes beilegen. Es gibt mehr Weisen als eine, diese Aufgabe zu vollenden: wir können jede Aussage setzen, die die Exception innerhalb seiner eigenen Versuchaussage möglicherweise werfen kann, und stellen die unterschiedlichen Exceptionzufuhren für jeden des Versuchs zur Verfügung. Oder du kannst alle writeList () Aussagen innerhalb der einzelnen Versuchaussage setzen und mehrere Zufuhren zu ihr verbinden. Das folgende Beispiel verwendet einzelne Versuchaussage für die gesamte Methode, während der Code neigt, einfacher zu sein zu lesen.
|
PrintStream pstr;
try
{
int i;
System.err.println("Entering try statement");
pStr = new PrintStream(
new BufferedOutputStream(
new FileOutputStream("OutFile.txt")));
for (i = 0; i < size; i++)
pStr.println("Value at: " + i + " = " + victor.elementAt(i));
}
|
|
Die Versuchaussage regelt die Aussagen, die innerhalb sie beigelegt werden und sie definiert den Bereich aller möglicher Exceptionzufuhren (die durch folgende Verriegelung Blöcke hergestellt werden), verbunden mit ihr. Das heißt, wenn eine Exception, tritt innerhalb der Versuchaussage, dann auf, daß Exception von irgendeiner passender Exceptionzufuhr angefaßt wird, die mit dieser Versuchaussage ist.
|
Die Verriegelung Blöcke
|
Wie vor studiert, definiert die Versuchaussage den Bereich der verbundenen Exceptionzufuhren. Wir verbinden Exceptionzufuhren mit einer Versuchaussage, indem wir direkt einen oder mehrer der aufeinanderfolgenden Verriegelung Blöcke nachdem ein Versuchblock zur Verfügung stellen.
|
try
{
. . .
} catch ( . . . )
{
. . .
} catch ( . . . )
{
. . .
} . . .
|
|
Es kann keinen intervenierenden Code zwischen dem Ende der Versuchaussage und dem Anfang der ersten Verriegelung Aussage geben. Die allgemeine Form der Verriegelung Aussage ist:
|
catch (SomeThrowableClassName variableName)
{
Java statements
}
|
|
Verriegelung Aussage regelt Reihe zugelassene Java Aussagen. Diese Aussagen werden durchgeführt, wenn die Exceptionzufuhr hervorgerufen wird. Das Laufzeitsystem ruft Exceptionzufuhr hervor, wenn eine Exception deren Art mit der des Arguments der Verriegelung Aussage zusammenpaßt, innerhalb des Versuchblockes der Zufuhr geworfen wird.
|
Die writeList () Methode von der ListOfNumbers Kategorie verwendet zwei Exceptionzufuhren für die Versuchaussage, eine Zufuhr für jede der zwei Arten der Exceptions, die innerhalb eines Versuch Blockes, eines ArrayIndexOutOfBoundsException und eines IOException geworfen werden können.
|
try
{
. . .
} catch (ArrayIndexOutOfBoundsException e)
{
System.err.println("Caught ArrayIndexOutOfBoundsException: " + e.getMessage());
} catch (IOException e)
{
System.err.println("Caught IOException: " + e.getMessage());
}
|
|
|
|
Keywords: unchecked exceptions, exception classes, exception handling,
exception class
|
|
HTML Quizes |
|
XML Quizes |
|
Browser Scripting Quizes |
|
Server Scripting Quizes |
|
.NET (dotnet) Quizes |
|
Multimedia Quizes |
|
Web Building Quizes |
|
Java Quizes |
|
Programming Langauges Quizes |
|
Soft Skills Quizes |
|
Database Quizes |
|
Operating System Quizes |
|
Software Testing Quizes |
|
SAP Module Quizes |
|
Networking Programming Quizes |
|
Microsoft Office Quizes |
|
Accounting Quizes |
|
|