Java-Beispiele - Behandlung mehrerer Ausnahmen (mehrere catch-Blöcke)
Behandlung von Ausnahmen:
1. Beim Deklarieren von Ausnahmen wird empfohlen, spezifischere Ausnahmen zu deklarieren, damit sie spezifischer behandelt werden können.
2. Für jede von der anderen Seite deklarierte Ausnahme sollte es einen entsprechenden catch-Block geben. Wenn Ausnahmen in mehreren catch-Blöcken eine Vererbungsbeziehung haben, platzieren Sie den catch-Block für die übergeordnete Ausnahme am Ende.
Das folgende Beispiel zeigt, wie mehrere Ausnahmen behandelt werden:
Datei ExceptionDemo.java
class Demo
{
int div(int a,int b) throws ArithmeticException,ArrayIndexOutOfBoundsException//Verwenden Sie funktional das Schlüsselwort throws, um zu deklarieren, dass diese Funktion auf Probleme stoßen kann.
{
int []arr = new int [a];
System.out.println(arr[4]);//Die erste erzeugte Ausnahme
return a/b;//Die zweite erzeugte Ausnahme
}
}
class ExceptionDemo
{
public static void main(String[]args) //throws Exception
{
Demo d = new Demo();
try
{
int x = d.div(4,0);//Die drei Beispielgruppen im Screenshot des laufenden Programms entsprechen den drei Codezeilen hier.
//int x = d.div(5,0);
//int x = d.div(4,1);
System.out.println("x="+x);
}
catch (ArithmeticException e)
{
System.out.println(e.toString());
}
catch (ArrayIndexOutOfBoundsException e)
{
System.out.println(e.toString());
}
catch (Exception e)//Die Elternklasse wird hier geschrieben, um andere unerwartete Ausnahmen abzufangen; sie kann nur nach dem Code der Kindklassen-Ausnahme geschrieben werden.
//Im Allgemeinen wird sie jedoch nicht geschrieben.
{
System.out.println(e.toString());
}
System.out.println("Over");
}
}
Der obige Code erzeugt die folgende Ausgabe:
java.lang.ArrayIndexOutOfBoundsException: 4 OverAndere Erweiterungen
Java-Beispiele