English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Ausnahmen sind Probleme, die während der Ausführung des Programms auftreten (Laufzeitfehler). Wenn eine Ausnahme auftritt, wird das Programm plötzlich beendet und der Code nach der Zeile, in der die Ausnahme aufgetreten ist, wird nie ausgeführt.
Sie können eine der folgenden Methoden, die von der Klasse Throwable abgeleitet sind, in Java verwenden, um eine Ausnahme-Nachricht auszugeben.
printStackTrace() -Diese Methode gibt den Stack Trace auf die Standardfehlerausgabe aus.
getMessage() -Diese Methode gibt eine detaillierte Nachrichtenzeichenkette des aktuellen auswurfbaren Objekts zurück.
toString() -Diese Nachricht zeigt eine kurze Beschreibung des aktuellen auswurfbaren Objekts an.
import java.util.Scanner; public class PrintingExceptionMessage { public static void main(String args[]) { Scanner sc = new Scanner(System.in); System.out.println("Geben Sie die erste Zahl ein:"); int a = sc.nextInt(); System.out.println("Geben Sie die zweite Zahl ein:"); int b = sc.nextInt(); try { int c = a/b; c);+catch(ArithmeticException e) { } System.out.println("Ausgabe der Methode printStackTrace(): "); e.printStackTrace(); System.out.println(" "); System.out.println("Ausgabe der getMessage()-Methode: "); System.out.println(e.getMessage()); System.out.println(" "); System.out.println("Ausgabe der toString()-Methode: "); System.out.println(e.toString()); } } }
Ausgabeergebnis
Geben Sie die erste Zahl ein: 10 Geben Sie die zweite Zahl ein: 0 Ausgabe der printStackTrace()-Methode: java.lang.ArithmeticException: / von zero Ausgabe der getMessage()-Methode: / von zero Ausgabe der toString()-Methode: java.lang.ArithmeticException: / von zero at PrintingExceptionMessage.main(PrintingExceptionMessage.java:11)
Wiederholen Sie den Ausnahmezustand-Sie können eine Ausnahme neu werfen, die in einem catch-Block erfasst wurde, indem Sie das erfasste Ausnahmeobjekt zusammen mit einem String, der die Nachricht darstellt, übergeben und die übergebene Nachricht anzeigt. Beim Ausführen dieser Aktion müssen Sie das erfasste Ausnahmeobjekt und den String, der die Nachricht darstellt, übergeben und die übergebene Nachricht anzeigen.
import java.util.Scanner; public class PrintingExceptionMessage { public static void main(String args[]) throws Exception {}} String msg = "Dies ist meine benutzerdefinierte Nachricht"; Scanner sc = new Scanner(System.in); System.out.println("Geben Sie die erste Zahl ein:"); int a = sc.nextInt(); System.out.println("Geben Sie die zweite Zahl ein:"); int b = sc.nextInt(); try { int c = a/b; c);+catch(ArithmeticException e) { } throw new Exception("CoustomMessage: "));+msg, e); } } }
Ausgabeergebnis
Geben Sie die erste Zahl ein: 25 Geben Sie die zweite Zahl ein: 0 Exception im Thread "main" java.lang.Exception: CoustomMessage: Dies ist meine benutzerdefinierte Nachricht at july_set3.PrintingExceptionMessage.main(PrintingExceptionMessage.java:)16) Ursache: java.lang.ArithmeticException: / von zero at july_set3.PrintingExceptionMessage.main(PrintingExceptionMessage.java:)13)
Erstellen Sie eine benutzerdefinierte Ausnahme-Sie können eine benutzerdefinierte Ausnahme erstellen und erneut werfen, indem Sie die erforderliche Nachricht verwenden.
import java.util.Scanner; class MyException extends Exception{ public MyException(String msg){ super(msg); } } public class PrintingExceptionMessage { public static void main(String args[]) throws Exception {}} String msg = "Das ist meine benutzerdefinierte Ausnahme"; Scanner sc = new Scanner(System.in); System.out.println("Geben Sie die erste Zahl ein:"); int a = sc.nextInt(); System.out.println("Geben Sie die zweite Zahl ein:"); int b = sc.nextInt(); try { int c = a/b; c);+catch(ArithmeticException e) { } MyException exce = new MyException(msg); throw exce; } } }
Ausgabeergebnis
Geben Sie die erste Zahl ein: 14 Geben Sie die zweite Zahl ein: 0 Exception in thread "main" july_set3.MyException: Das ist meine benutzerdefinierte Ausnahme at july_set3.PrintingExceptionMessage.main(PrintingExceptionMessage.java:)23)