Inhaltsverzeichnis
Ausnahmetyp
Ausnahmebehandlung
Grammatik
Methode 1: Verwenden Sie einen einzelnen Try-Catch-Block
Algorithmus
Beispiel
Ausgabe
Methode 2: Verwenden Sie einen einzelnen Try-Block und mehrere Catch-Blöcke
示例
输出
Heim Java javaLernprogramm Java-Programm, das Ausnahmemethoden verarbeitet

Java-Programm, das Ausnahmemethoden verarbeitet

Sep 12, 2023 am 11:49 AM
异常处理 (exception handling) java程序 (java program) Ausnahmemethode

Java-Programm, das Ausnahmemethoden verarbeitet

Exception ist ein ungewöhnliches Ereignis, das den normalen Ausführungsfluss eines Programms stört. Wenn eine Ausnahme auftritt, wird ein Objekt namens Ausnahmeobjekt generiert, das die Details der Ausnahme wie Name, Beschreibung und Programmstatus enthält. In diesem Abschnitt schreiben wir ein Java-Programm, um verschiedene in Java vorhandene Ausnahmemethoden zu verarbeiten.

Ausnahmetyp

Es gibt drei Arten von Ausnahmen −

Geprüfte Ausnahme - Geprüfte Ausnahmen sind Ausnahmen zur Kompilierungszeit, die während der Programmkompilierung überprüft werden. Diese Ausnahmen können nicht ignoriert werden und müssen vom Programmierer behandelt werden. Zum Beispiel: IOException, SQLException, ClassNotFounException.

Ungeprüfte Ausnahmen – Ungeprüfte Ausnahmen sind Laufzeitausnahmen, d. h. sie werden während der Kompilierung ignoriert und während der Programmausführung überprüft. Zum Beispiel: NullPointerException (Nullzeiger-Ausnahme), ArithmeticException (arithmetische Ausnahme) und ArrayIndexOutOfBoundsException (Array-Out-of-Bounds-Ausnahme).

Fehler – Fehler sind nicht behebbare Ausnahmen, die normalerweise aufgrund von Problemen mit der Java Virtual Machine oder Systemressourcen auftreten. Im Gegensatz zu Ausnahmen sollten Fehler nicht von Programmierern abgefangen oder behandelt werden, da sie uns mitteilen, dass ein schwerwiegendes Problem vorliegt, das vom Programm nicht behoben werden kann. Zum Beispiel: OutOfMemoryError, StackOverflowError.

Ausnahmebehandlung

Ausnahmebehandlung ist der Prozess der Behandlung von Ausnahmen, die während der Programmausführung ausgelöst werden, damit der Ausführungsfluss nicht unterbrochen wird. Dies geschieht mithilfe von Try-Catch-Blöcken in Java. Der Try-Block enthält Code, der Ausnahmen auslösen kann, und der Catch-Block enthält Code, der Ausnahmen behandelt.

Wir können integrierte Ausnahmen verwenden oder benutzerdefinierte oder benutzerdefinierte Ausnahmen erstellen. Benutzerdefinierte Ausnahmen erweitern die Exception-Klasse oder die RuntimeException-Klasse.

Java bietet viele Methoden zur Behandlung dieser Ausnahmen. Einige dieser Methoden sind -

getMessage() − Diese Methode wird verwendet, um die Fehlermeldung als String zurückzugeben. Dies ist eine Methode, die in der Throwable-Klasse in Java definiert ist.

try {
   // some code that may throw an exception
} catch (Exception e) {
   String message = e.getMessage();
   System.out.println("Exception occurred: " + message);
Nach dem Login kopieren

getStackTrace() – Diese Methode gibt ein Array der Sequenz von Methodenaufrufen zurück, die die Ausnahme verursacht haben. Dies ist die Methode, die in der Throwable-Klasse in Java definiert ist.

try {
   // some code that may throw an exception
} catch (Exception e) {
   StackTraceElement[] st = e.getStackTrace();
   for (StackTraceElement ele : st) {
      System.out.println(ele.toString());
   }
}
Nach dem Login kopieren

printStackTrace() – Diese Methode druckt ein Array der Sequenz von Methodenaufrufen, die die Ausnahme verursacht haben. Dies ist die Methode, die in der Throwable-Klasse in Java definiert ist.

try {
   // some code that may throw an exception
} catch (Exception e) {
   e.printStackTrace();
}
Nach dem Login kopieren

Throw – „throw“ ist das Schlüsselwort in Java für das explizite Auslösen von Ausnahmen. Wenn dieses Schlüsselwort ausgeführt wird, wird der normale Programmablauf gestoppt und eine Ausnahme ausgelöst, die von der nächstgelegenen Catch-Anweisung abgefangen wird.

public void divide(int a, int b) {
   if (b == 0) {
      throw new ArithmeticException("Cannot divide by zero!"); // throws Arthemetic Exception
   }
   int result = a / b;
   System.out.println("Result: " + result);
}
Nach dem Login kopieren

getCause() – Diese Methode gibt die Ursache anderer Ausnahmen zurück, die diese Ausnahme ausgelöst haben. Wenn die Ursache unbekannt ist, wird „null“ zurückgegeben. Dies ist eine Methode, die in der Throwable-Klasse in Java definiert ist.

try {
   // some code that may throw an exception
} catch (Exception e) {
   Throwable cause = e.getCause();
   if (cause != null) {
      System.out.println("Cause: " + cause.toString());
   } else {
      System.out.println("No cause found.");
   }
}
Nach dem Login kopieren

Grammatik

Try-Catch-Block – Der Try-Catch-Block in Java wird zur Behandlung von Ausnahmen verwendet. Der try-Block enthält Code, der möglicherweise eine Ausnahme auslöst. Der Catch-Block fängt Ausnahmen ab und behandelt sie. Auf einen Versuch kann eine Reihe von Fangblöcken folgen.

try {
   // Protected code
} catch (ExceptionName e1) {
   // Catch block
}
Nach dem Login kopieren

Jetzt werden wir die verschiedenen Möglichkeiten zur Behandlung von Methodenausnahmen in Java im Detail besprechen.

Methode 1: Verwenden Sie einen einzelnen Try-Catch-Block

Bei diesem Ansatz verwenden wir einen einzelnen Versuch und einen einzelnen Catch-Block, um die auftretende Ausnahme zu behandeln.

Algorithmus

  • Initialisieren Sie ein Array mit Zufallswerten.

  • Versuchen Sie, auf die Elemente im Array so zuzugreifen, dass der Index größer als die Länge des Arrays sein sollte. Fügen Sie diesen Code in einen Try-Block ein, da er eine Ausnahme auslöst.

  • Sobald eine Ausnahme auftritt, verwenden Sie die Methode „catch()“, um die Ausnahme „ArrayIndexOutOfBounds“ abzufangen, verwenden Sie die Methode „getMessage()“, um die Nachricht zu drucken, und verwenden Sie die Methode „printStackTrace()“, um die Reihenfolge der Methodenaufrufe zu drucken.

Beispiel

In diesem Beispiel schreiben wir den Code in Try- und Catch-Blöcken. Im try-Block initialisieren wir ein Array mit 5 Werten und greifen auf das 8. Element des Arrays zu, das normalerweise eine Ausnahme „ArrayIndexOutOfBoundsException“ auslöst. Der Catch-Block fängt diese Ausnahme ab und druckt die Fehlermeldung mit der Methode getMessage(), und die Methode printStackTrace() wird verwendet, um die Methodenaufrufsequenz zu drucken, wenn die Ausnahme auftritt.

import java.util.*;
public class Main {
   public static void main(String[] args) {
      try {
         int[] arr = {1, 2, 3,4,5};
         System.out.println(arr[8]); 
      } catch (ArrayIndexOutOfBoundsException e) {
         System.out.println("An exception occurred: " + e.getMessage());
         e. printStackTrace() ;

      }
   }
}
Nach dem Login kopieren

Ausgabe

An exception occurred: Index 8 out of bounds for length 5
java.lang.ArrayIndexOutOfBoundsException: Index 8 out of bounds for length 5
        at Main.main(Main.java:6)
Nach dem Login kopieren

Methode 2: Verwenden Sie einen einzelnen Try-Block und mehrere Catch-Blöcke

Bei diesem Ansatz verwenden wir einen einzelnen Versuch und mehrere Catch-Blöcke, um die auftretenden Ausnahmen zu behandeln.

Algorithmus

  • Deklarieren Sie einen Try-Block und initialisieren Sie zwei ganzzahlige Variablen, nämlich Zähler und Nenner. Die Nennervariable wird auf 0 initialisiert.

  • Wenn nun der Nennerwert gleich 0 ist, wird eine ArithmeticException ausgelöst.

  • Schreiben Sie mehrere Catch-Blöcke, um verschiedene Ausnahmen zu behandeln.

  • Verwenden Sie verschiedene integrierte Methoden in Java und drucken Sie eine Ausnahmemeldung und eine aufgetretene Ausnahme aus.

示例

在此示例中,我们使用了一个 try 块,后跟多个 catch 块。如果从 try 块中抛出 ArithmeticException,则执行处理 ArithmeticException 代码的 catch 块。如果 try 块抛出 NullPointerException,则执行该特定的 catch 块。如果 catch 块不处理 try 块引发的特定异常,则执行最后一个 catch 块代码,因为它正在处理通用异常情况。从示例中,当分母值初始化为零时,我们使用“throw”关键字抛出一个 ArthemeticException,并执行处理 ArthemeticException 的 catch 块。

import java.util.*;
public class Main {
   public static void main(String[] args) {
      try {
         int numerator = 10, denominator = 0 ;
         if(denominator == 0) {
            throw new ArithmeticException();
         }
      } catch (ArithmeticException e) {
         System.out.println("ArithmeticException caught.");
         System.out.println("Message: " + e.getMessage());
         System.out.println("Stack Trace: ");
         e.printStackTrace();
         System.out.println("Cause: " + e.getCause());
      } catch (NullPointerException e) {
         System.out.println("NullPointerException caught.");
         System.out.println("Message: " + e.getMessage());
         System.out.println("Stack Trace: ");
         e.printStackTrace();
         System.out.println("Cause: " + e.getCause());
      } catch (ArrayIndexOutOfBoundsException e) {
         System.out.println("ArrayIndexOutOfBoundsException caught.");
         System.out.println("Message: " + e.getMessage());
         System.out.println("Stack Trace: ");
         e.printStackTrace();
         System.out.println("Cause: " + e.getCause());
      }catch (Exception e) {
         System.out.println("NullPointerException caught.");
         System.out.println("Message: " + e.getMessage());
         System.out.println("Stack Trace: ");
         e.printStackTrace();
         System.out.println("Cause: " + e.getCause());
      }
   }
}
Nach dem Login kopieren

输出

ArithmeticException caught.
Message: null
Stack Trace: 
java.lang.ArithmeticException
        at Main.main(Main.java:7)
Cause: null
Nach dem Login kopieren

因此,在本文中,我们讨论了处理Java编程语言中异常方法的不同方法。

Das obige ist der detaillierte Inhalt vonJava-Programm, das Ausnahmemethoden verarbeitet. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Häufige Probleme, die bei der Entwicklung der C#-Technologie auftreten, und deren Lösungen Häufige Probleme, die bei der Entwicklung der C#-Technologie auftreten, und deren Lösungen Oct 08, 2023 pm 01:06 PM

Häufige Probleme und Lösungen bei der Entwicklung der C#-Technologie. Einführung: C# ist eine objektorientierte Programmiersprache auf hoher Ebene, die häufig bei der Entwicklung von Windows-Anwendungen verwendet wird. Während des Entwicklungsprozesses der C#-Technologie können jedoch einige häufige Probleme auftreten. In diesem Artikel werden einige häufig auftretende Probleme vorgestellt, entsprechende Lösungen bereitgestellt und spezifische Codebeispiele angehängt, um den Lesern zu helfen, diese Probleme besser zu verstehen und zu lösen. 1. NullReferenceException (Null-Referenz-Ausnahme) im C#-Entwicklungsprozess,

Häufige Probleme und Lösungen zur Ausnahmebehandlung in Python Häufige Probleme und Lösungen zur Ausnahmebehandlung in Python Oct 09, 2023 am 08:56 AM

Häufige Probleme und Lösungen zur Ausnahmebehandlung in Python Einführung: Beim Schreiben von Programmen ist es schwierig, verschiedene Fehler und Ausnahmen zu vermeiden. Die Ausnahmebehandlung ist ein Mechanismus, der diese Ausnahmen während der Programmausführung abfangen und behandeln kann und so die Stabilität und Zuverlässigkeit des Programms gewährleistet. In Python ist die Ausnahmebehandlung eine sehr wichtige Fähigkeit. In diesem Artikel werden häufig auftretende Probleme und Lösungen für die Ausnahmebehandlung in Python vorgestellt und spezifische Codebeispiele bereitgestellt. 1. Ausnahmeklassifizierung und häufige Probleme Grammatikfehler (SyntaxErr

So behandeln Sie die Ausnahme „Java-Thread-Pool voll' So behandeln Sie die Ausnahme „Java-Thread-Pool voll' Jun 30, 2023 am 10:09 AM

In der Java-Entwicklung ist der Thread-Pool ein sehr häufig verwendeter Multithreading-Mechanismus. Es kann Threads effektiv verwalten, steuern und wiederverwenden und so die Programmleistung und -effizienz verbessern. In der tatsächlichen Entwicklung ist der Thread-Pool jedoch möglicherweise vollständig ausgelastet, was dazu führt, dass Aufgaben nicht normal ausgeführt werden. In diesem Artikel wird erläutert, wie mit Thread-Pool-Vollausnahmen umgegangen wird, um die Programmstabilität und -zuverlässigkeit zu verbessern. Zuerst müssen wir die Ursache der Ausnahme „Thread-Pool voll“ verstehen. Der Hauptgrund dafür, dass der Thread-Pool voll ist, besteht darin, dass die Aufgabenübermittlung die vom Thread-Pool festgelegte maximale Anzahl von Threads überschreitet. Wenn eine Aufgabe an einen Thread übermittelt wird

Wie gehe ich mit Ausnahmen und Fehlerprotokollierung in der PHP-Entwicklung um? Wie gehe ich mit Ausnahmen und Fehlerprotokollierung in der PHP-Entwicklung um? Nov 02, 2023 am 09:27 AM

Wie gehe ich mit Ausnahmen und Fehlerprotokollierung in der PHP-Entwicklung um? Als sehr beliebte Back-End-Programmiersprache wird PHP häufig im Bereich der Webentwicklung eingesetzt. Während des Entwicklungsprozesses müssen wir häufig Ausnahmen behandeln und Fehlerprotokolle aufzeichnen, um Probleme rechtzeitig zu erkennen und zu lösen. In diesem Artikel werden Best Practices für den Umgang mit Ausnahmen und die Fehlerprotokollierung in der PHP-Entwicklung vorgestellt. 1. Ausnahmebehandlung In PHP ist eine Ausnahme ein spezielles Objekt, das zur Behandlung von Fehlersituationen verwendet wird. Wenn der Code auf einen Fehler stößt, den er nicht behandeln kann, können wir eine Ausnahme auslösen und

Lösungen für häufige Array-Out-of-Bounds-Probleme in C++ Lösungen für häufige Array-Out-of-Bounds-Probleme in C++ Oct 08, 2023 pm 12:33 PM

Lösungen für häufige Array-Out-of-Bounds-Probleme in C++ erfordern spezifische Codebeispiele. In der C++-Programmierung sind Array-Out-of-Bounds ein häufiger Fehler. Wenn wir auf ein Element in einem Array außerhalb des Indexbereichs des Arrays zugreifen, führt dies zu undefiniertem Verhalten im Programm. Um solche Fehler zu vermeiden, müssen wir einige Lösungen annehmen. Lösung 1: Array-Index richtig verwenden Zuerst müssen wir sicherstellen, dass der Index des Arrays bei 0 beginnt. Beispielsweise hat ein Array mit 5 Elementen einen Index zwischen 0 und 4. Achten Sie daher beim Zugriff auf Array-Elemente darauf

So lösen Sie eine Java-Datenformatausnahme (DataFormatException) So lösen Sie eine Java-Datenformatausnahme (DataFormatException) Aug 27, 2023 am 10:14 AM

So lösen Sie eine Java-Datenformatausnahme (DataFormatException) Bei der Java-Programmierung treten häufig verschiedene abnormale Situationen auf. Unter diesen ist die Datenformatausnahme (DataFormatException) ein häufiges, aber auch sehr herausforderndes Problem. Diese Ausnahme wird ausgelöst, wenn die Eingabedaten die angegebenen Formatanforderungen nicht erfüllen können. Die Lösung dieser Anomalie erfordert bestimmte Fähigkeiten und Erfahrung. In diesem Artikel wird detailliert beschrieben, wie Ausnahmen im Java-Datenformat behoben werden, und es werden einige Codebeispiele bereitgestellt

Wie schließt man eine MySQL-Verbindung in einem Java-Programm richtig? Wie schließt man eine MySQL-Verbindung in einem Java-Programm richtig? Jun 30, 2023 pm 09:17 PM

Wie schließe ich eine MySQL-Verbindung in einem Java-Programm richtig? MySQL ist ein häufig verwendetes relationales Datenbankverwaltungssystem und Java ist eine weit verbreitete Programmiersprache. Bei der Entwicklung von Java-Programmen ist es häufig erforderlich, eine Verbindung zur MySQL-Datenbank herzustellen, um Daten hinzuzufügen, zu löschen, zu ändern und abzufragen. Allerdings ist das Herstellen einer Verbindung zur Datenbank ein ressourcenintensiver Prozess. Wenn die Datenbankverbindung falsch geschlossen wird, werden Systemressourcen verschwendet und es kann sogar zu Leistungseinbußen oder Programmabstürzen kommen. Daher ist das korrekte Schließen der MySQL-Verbindung von entscheidender Bedeutung

Wie gehe ich mit Datenbankfehlern in PHP um? Wie gehe ich mit Datenbankfehlern in PHP um? Dec 17, 2023 am 10:23 AM

Wie gehe ich mit Datenbankfehlern in PHP um? Bei der Entwicklung von PHP-Anwendungen ist die Interaktion mit der Datenbank ein sehr häufiger und wichtiger Teil. Bei Datenbankoperationen sind Fehler jedoch vorprogrammiert. Um mit diesen Fehlern umzugehen und die Robustheit und Stabilität der Anwendung sicherzustellen, müssen wir Datenbankfehler korrekt behandeln. In diesem Artikel stelle ich Ihnen einige Möglichkeiten zur Behandlung von Datenbankfehlern in PHP vor und stelle Ihnen konkrete Codebeispiele zur Verfügung. Ausnahmen mit dem Try-Catch-Block abfangen In PHP können wir Try-Ca verwenden

See all articles