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 |
|
|