Java

Java-Ausnahmebehandlung

Java-Ausnahmebehandlung
Wenn der normale Ablauf der Programmausführung bei einem Fehler unterbrochen wird, wird dies als Ausnahme bezeichnet. Diese Art von Ereignis kann mit gehandhabt werden ein try-catch-endlich Block. Eine Ausnahme ist ein Objekt, das verwendet wird, um den Fehler abzufangen und die Anweisung basierend auf der Fehlerbedingung auszuführen, die als Ausnahmebehandlung bezeichnet wird. Bei der Ausnahmebehandlung werden hauptsächlich zwei Arten von Fehlern behandelt. Diese sind kompilierte Zeit Fehler und Laufzeit Fehler. Das Laufzeit Fehler werden durch Ausnahmebehandlung behandelt. Wie Sie mit Ausnahmen in Java umgehen können, erfahren Sie in diesem Tutorial.

Syntax:

Die Syntax von der try-catch-endlich Block ist unten angegeben.

Versuchen
Aussage 1… N

catch (ExceptiontType var)
Aussage 1… N

schließlich
Aussage 1… N

Wenn hier eine Ausnahme innerhalb des try-Blocks auftritt, wird die Ausnahme in den catch-Block geworfen, und der finally-Block ist hier optional optional. Der Code des finally-Blocks wird ausgeführt, ob eine Ausnahme auftritt oder nicht.

Beispiel-1: Ausnahmebehandlung mit einem einzelnen catch-Block

Das folgende Beispiel zeigt die Verwendung der Ausnahmebehandlung mit einem einzelnen catch-Block. Ein Dateiname wird als Eingabe verwendet und ein Objekt von BufferedReader erstellt, um eine Datei zum Lesen zu öffnen. Ist der Dateiname vorhanden, wird der Inhalt der Datei zeilenweise gelesen und gedruckt. Existiert die Datei nicht, wird eine Ausnahme generiert und eine Fehlermeldung ausgegeben.

Java importieren.io.BufferedReader;
Java importieren.io.FileReader;
Java importieren.io.IOAusnahme;
Java importieren.util.Scanner;
öffentliche Klasse außer1
public static void main(String[] args)
// Erstellen Sie ein Scanner-Objekt
Scanner in = neuer Scanner(System.im);
System.aus.print("Geben Sie den Dateinamen ein: ");
// String-Daten vom Benutzer nehmen
String FileName = in.Nächster();
Versuchen
//Erstelle ein Leserobjekt
BufferedReader-Reader = new BufferedReader (neuer FileReader (Dateiname));
//Lesen Sie die erste Zeile, wenn die Datei existiert
Zeichenfolge = Leser.Zeile lesen();
während (Zeile != null)
//Drucke die Zeile
System.aus.println(Zeile);
//Lesen Sie die nächste Zeile
Zeile = Leser.Zeile lesen();

//Schließe das Leserobjekt
Leser.schließen();
// Schließen Sie das Scannerobjekt
im.schließen();
catch (IOException e)
//Drucken Sie die Fehlermeldung
System.aus.println("Datei existiert nicht");


Ausgabe:

In der folgenden Ausgabe,  'Hallo.TXT' wird als Dateiname angegeben, der nicht existiert. Also wird folgende Nachricht gedruckt.

Nächstes Mal, Datei1.TXT wird als Dateiname angegeben, der existiert, und die Ausgabe zeigt den Inhalt der Datei.

Beispiel-2: Ausnahmebehandlung mit mehreren catch-Blocks

Wie Sie mehrere catch-Blöcke verwenden können, um mehrere Ausnahmen zu behandeln, wird im folgenden Beispiel gezeigt shown. Hier werden drei Catch-Blöcke deklariert. Der erste catch-Block fängt den arithmetischen Fehler ab, wenn eine unlogische arithmetische Operation ausgeführt wird. Der zweite Fangblock fängt den Bereichsüberschreitungsfehler des Arrays ab, wenn versucht wird, einen Array-Indexwert zu lesen, der nicht existiert. Der dritte catch-Block fängt den numerischen Wertfehler ab, wenn ein Zeichen- oder Stringwert als Arraywert angegeben wird. Im Code wird ein Array mit vier Indizes deklariert und mit den ganzzahligen Werten initialisiert, die vom Benutzer übernommen werden. Die Array-Werte werden mit einer Schleife gedruckt. Eine Divisionsoperation wird am Ende des try-Blocks durchgeführt.

Java importieren.util.Scanner;
öffentliche Klasse außer2
public static void main(String[] args)

Versuchen

//Ein numerisches Array deklarieren
int num_arr[] = new int[4];
//Erstelle ein Scanner-Objekt
Scanner in = neuer Scanner(System.im);
System.aus.println("Geben Sie vier Zahlen ein:");
// Iteriere die Schleife viermal
für (int i = 0; i < 4; i++)
//Nummer eingeben
int n = in.nextInt();
// Wert dem Array zuweisen
num_arr[i] = n;

System.aus.println("Array-Werte sind:");
// Iteriere die Schleife fünfmal
für (int i = 0; i < 4; i++)
//Gibt die Array-Werte aus
System.aus.println(num_arr[i]);

// Den Wert teilen und ausgeben
int-Zahl = 50/0;
System.aus.print(num);
// Schließen Sie das Scannerobjekt
im.schließen();

catch(ArithmeticException e)

System.aus.println("Keine Zahl ist durch 0 teilbar");

catch(ArrayIndexOutOfBoundsException e)

System.aus.println("Indexwert außerhalb des Arrays aufgetreten");

fangen(Ausnahme e)

System.aus.println("Zahlenwert wird nicht angegeben");


Ausgabe:

Die folgende Ausgabe zeigt, dass Array-Werte richtig eingefügt und gedruckt werden, aber der dritte catch-Block wird ausgeführt, weil 50 durch 0 geteilt wird, was ein Fehler ist.

Das Programm wird zum zweiten Mal ausgeführt. Wenn ein String-Wert als Array-Wert angegeben wird, wird die zweite Ausnahme generiert und die Anweisung des zweiten catch-Blocks ausgeführt.

Beispiel-3: Ausnahmebehandlung mit try-catch-finally-Block

Die Verwendung von finally-Block mit dem try-catch-Block wird im folgenden Beispiel gezeigt shown. Der Code des finally-Blocks wird ausgeführt, wenn eine Ausnahme auftritt oder nicht. Im Code wird ein ganzzahliger Wert vom Benutzer übernommen. Wenn der Benutzer einen Zeichenfolgenwert angibt, dann InputMismatchException

generiert und druckt die Nachricht aus dem catch-Block. Scannerobjekt wird im . geschlossen schließlich blockieren, wenn die Ausnahme generiert wird oder nicht.

Java importieren.util.Scanner;
Java importieren.util.InputMismatchException;
öffentliche Klasse außer3
public static void main(String[] args)
//Erstelle ein Scanner-Objekt
Scanner in = neuer Scanner(System.im);
System.aus.print("Geben Sie eine Zahl ein: ");
Versuchen
// String-Daten vom Benutzer nehmen
int-Zahl = in.nextInt();
//Drucke die Nummer
System.aus.println("Der Wert von Zahl = " + Zahl);
catch(InputMismatchException e)
//Fehlermeldung drucken
System.aus.println("String-Wert wird nicht akzeptiert.");

schließlich
// Schließen Sie das Scannerobjekt
im.schließen();
System.aus.println("Beendet vom Programm");


Ausgabe:

78 wird als Eingabewert in der folgenden Ausgabe nach Ausführung des Codes ausgegeben. Hier wird also keine Ausnahme generiert. Die Nachricht aus dem finally-Block wird später gedruckt.

Nächster, Hallo wird als Eingabe übergeben, nachdem der Code ausgeführt wurde, der ein String ist. Also wird die Ausnahme generiert und die Fehlermeldung vom catch-Block ausgegeben. Die Nachricht aus dem finally-Block wird später gedruckt.

Fazit:

Die Ausnahmebehandlung ist eine sehr wichtige und nützliche Funktion jeder Programmiersprache, die verwendet werden kann, um die echte Fehlermeldung vor dem Benutzer zu verbergen und die für den Benutzer lesbare Fehlermeldung bereitzustellen, damit der Benutzer den Fehler richtig verstehen kann. Dieses Tutorial hilft dem Benutzer, verschiedene Möglichkeiten zur Anwendung der Ausnahmebehandlung in Java zu erlernen und ihren Code angemessener zu gestalten.

So kehren Sie die Scrollrichtung von Maus und Touchpads in Windows 10 um
Maus und Touchpads machen das Rechnen nicht nur einfach, sondern auch effizienter und weniger zeitaufwendig. Wir können uns ein Leben ohne diese Gerät...
So ändern Sie Mauszeiger- und Cursorgröße, Farbe und Schema unter Windows 10
Der Mauszeiger und der Cursor in Windows 10 sind sehr wichtige Aspekte des Betriebssystems. Dies kann auch für andere Betriebssysteme gesagt werden, a...
Kostenlose und Open-Source-Spiele-Engines für die Entwicklung von Linux-Spielen
Dieser Artikel behandelt eine Liste von kostenlosen und Open-Source-Spiele-Engines, die für die Entwicklung von 2D- und 3D-Spielen unter Linux verwend...