English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Eine Ausnahme ist ein Problem, das während der Ausführung des Programms auftritt (Laufzeitfehler). Um dies zu verstehen, betrachten wir es auf eine andere Weise.
Normalerweise wird ein .class-Datei erstellt, wenn keine .class-Datei bei der Kompilierung erstellt wird, und es ist die ausführbare Datei in Java. Jedes Mal, wenn Sie dies ausführen.classDatei ausgeführt wird, sollte sie erfolgreich sein, um jedes Zeile im Programm ohne Probleme auszuführen. Aber in einigen speziellen Fällen kann JVM bei der Ausführung des Programms einige undeutliche Situationen begegnen, d.h. sie wissen nicht, was sie tun sollen.
Dies sind einige Beispielszenarien-
Wenn die Größe Ihres Arrays10, dann versucht eine Zeile im Code, das11Element.
Wenn Sie versuchen, eine Zahl durch 0 zu teilen (Ergebnis ist unendlich und JVM kann es nicht bewerten).
Dies wird als Ausnahme bezeichnet. Jede mögliche Ausnahme wird durch eine prädefinierte Klasse dargestellt, alle Ausnahmenklassen finden Sie im Paket java.lang. Sie können auch Ihre eigenen Ausnahmen definieren.
Einige Ausnahmen werden bei der Kompilierung angezeigt und werden als Kompilierungszeit-Ausnahmen oder geprüfte Ausnahmen bezeichnet.
Wenn eine solche Ausnahme auftritt, müssen Sie-Catch-Block verwenden, um sie zu behandeln, oder verwenden Sie den Schlüsselwort 'throws', um sie auszuwerfen (Verzögerung der Verarbeitung).
Wenn eine Ausnahme auftritt und nicht behandelt wird, wird das Programm plötzlich beendet und der Code nach der auslösenden Zeile wird nicht ausgeführt.
Normalerweise ist die Größe des Arrays festgelegt und jeder Element wird durch Indexing erreicht. Zum Beispiel haben wir ein Array mit der Größe7des Arrays. Die gültigen Ausdrücke zum Zugriff auf die Elemente dieses Arrays sind a [0] bis a [6] (Länge von1) ausgelöst.
Wird eine -ve-Wert oder ein Wert größer oder gleich der Größe des Arrays verwendet, wird eineArrayIndexOutOfBoundsException}}
Zum Beispiel, wenn Sie den folgenden Code ausführen, zeigt er die Elemente des Arrays an und bittet Sie, einen Index anzugeben, um ein Element auszuwählen. Da die Größe des Arrays7Daher beträgt der gültige Index 0 bis6}}
import java.util.Arrays; import java.util.Scanner; public class AIOBSample { public static void main(String args[]){ int[] myArray = {1254, 1458, 5687,1457, 4554, 5445, 7524}; System.out.println("Elemente im Array sind: "); System.out.println(Arrays.toString(myArray)); Scanner sc = new Scanner(System.in); System.out.println("Geben Sie den Index des erforderlichen Elements an: "); int element = sc.nextInt(); System.out.println("Das Element im angegebenen Index ist :: ");+myArray[element]); } }
Aber wenn Sie die folgende Ausgabe beobachten, haben wir eine Index9des Elements, da es ein ungültiger Index ist, hat eine Ausnahme ausgelöst,ArrayIndexOutOfBoundsExceptionund beendete die Ausführung.
Elemente im Array sind: [897, 56, 78, 90, 12, 123, 75] Geben Sie den Index des erforderlichen Elements an: 7 Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 7 at AIOBSample.main(AIOBSample.java:12)
Um dieses Problem zu lösen, müssen Sie durch das Hinzufügen von-catch-Block um den Code zu verpacken, der für diese Ausnahme verantwortlich ist, um die Ausnahme zu behandeln.
import java.util.Arrays; import java.util.Scanner; public class AIOBSample { public static void main(String args[]){ int[] myArray = {1254, 1458, 5687,1457, 4554, 5445, 7524}; System.out.println("Elemente im Array sind: "); System.out.println(Arrays.toString(myArray)); try { Scanner sc = new Scanner(System.in); System.out.println("Geben Sie den Index des erforderlichen Elements an: "); int element = sc.nextInt(); System.out.println("Das Element im angegebenen Index ist :: ");+myArray[element]); }catch(ArrayIndexOutOfBoundsException ex) { System.out.println("Bitte geben Sie den gültigen Index ein (0 bis 6); } } }
Ausgaberesultat
Elemente im Array sind: [1254, 1458, 5687, 1457, 4554, 5445, 7524] Geben Sie den Index des erforderlichen Elements an: 7 Bitte geben Sie den gültigen Index ein (0 bis 6)