Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Industrial programming >> Java

Versuchen Sie Catch in Java:Beispiel für die Ausnahmebehandlung

Was ist eine Ausnahme in Java?

Ausnahme in Java ist ein Ereignis, das die Ausführung von Programmanweisungen unterbricht und den normalen Ablauf der Programmausführung stört. Es ist ein Objekt, das eine Fehlerereignisinformation umschließt, die innerhalb einer Methode aufgetreten ist, und an das Laufzeitsystem übergeben wird. In Java werden Ausnahmen hauptsächlich verwendet, um verschiedene Arten von Fehlerbedingungen anzuzeigen.

In diesem Tutorial lernen Sie-

Es gibt zwei Arten von Fehlern:

  1. Kompilierzeitfehler
  2. Laufzeitfehler

Kompilierzeitfehler können wiederum in zwei Arten eingeteilt werden:

Beispiel für Syntaxfehler:

Anstatt int a; zu deklarieren Sie haben es fälschlicherweise als in a; deklariert für den der Compiler einen Fehler ausgibt.

Beispiel:Sie haben eine Variable int a; deklariert und nach einigen Codezeilen deklarierst du wieder eine ganze Zahl als int a; . All diese Fehler werden hervorgehoben, wenn Sie den Code kompilieren.

Beispiel für Laufzeitfehler

Ein Laufzeitfehler wird als Ausnahme bezeichnet Error. Es ist jedes Ereignis, das den normalen Ablauf der Programmausführung unterbricht.

Beispiele für Ausnahmen sind arithmetische Ausnahmen, Nullpointer-Ausnahmen, Division-durch-Null-Ausnahmen usw.

Ausnahmen in Java liegen außerhalb der Kontrolle der Entwickler.

Klicken Sie hier, wenn das Video nicht zugänglich ist

Warum brauchen wir eine Ausnahme?

Angenommen, Sie haben ein Programm für den Zugriff auf den Server codiert. Die Dinge haben gut funktioniert, während Sie den Code entwickelt haben.

Während des eigentlichen Produktivlaufs ist der Server ausgefallen. Wenn Ihr Programm versucht, darauf zuzugreifen, wird eine Ausnahme ausgelöst.

So behandeln Sie Ausnahmen

Bisher haben wir gesehen, dass Ausnahmen außerhalb der Kontrolle des Entwicklers liegen. Aber es ist keine Lösung, Ihr Codeversagen auf Umweltprobleme zu schieben. Sie brauchen eine robuste Programmierung, die sich um Ausnahmesituationen kümmert. Dieser Code wird als Exception Handler bezeichnet.

In unserem Beispiel wäre eine gute Ausnahmebehandlung, wenn der Server heruntergefahren ist, sich mit dem Backup-Server zu verbinden.

Um dies zu implementieren, geben Sie Ihren Code ein, um eine Verbindung zum Server herzustellen (unter Verwendung traditioneller if- und else-Bedingungen).

Sie werden überprüfen, ob der Server heruntergefahren ist. Wenn ja, schreiben Sie den Code, um sich mit dem Backup-Server zu verbinden.

Eine solche Organisation des Codes mit „if“- und „else“-Schleife ist nicht effektiv, wenn Ihr Code mehrere Java-Ausnahmen zu verarbeiten hat.

class connect{
	if(Server Up){
	 // code to connect to server
	}
	else{
	 // code to connect to BACKUP server
	}
}

Versuchen Sie Catch-Block

Java bietet eine eingebaute außergewöhnliche Handhabung.

  1. Der normale Code geht in einen TRY blockieren.
  2. Der Ausnahmebehandlungscode kommt in den CATCH blockieren

In unserem Beispiel enthält der TRY-Block den Code für die Verbindung zum Server. Der CATCH-Block enthält den Code für die Verbindung zum Backup-Server.

Falls der Server aktiv ist, wird der Code im CATCH-Block ignoriert. Falls der Server heruntergefahren ist, wird eine Ausnahme ausgelöst und der Code im catch-Block ausgeführt.

So wird die Ausnahme in Java behandelt.

Syntax für die Verwendung von try &catch

try{
    statement(s)
}
catch (exceptiontype name){
	statement(s)
}

Beispiel

Schritt 1) Kopieren Sie den folgenden Code in einen Editor

class JavaException {
   public static void main(String args[]){
      int d = 0;
      int n = 20;
      int fraction = n/d;
     System.out.println("End Of Main");
   }
}

Schritt 2) Speichern Sie die Datei und kompilieren Sie den Code. Führen Sie das Programm mit dem Befehl java JavaException

aus

Schritt 3) Eine arithmetische Ausnahme – Division durch Null wird wie unten für Zeile 5 angezeigt und Zeile 6 wird nie ausgeführt

Schritt 4) Sehen wir uns nun an, wie Try and Catch uns hilft, diese Ausnahme zu behandeln. Wir werden die Ausnahme, die die Codezeile verursacht, in einen try packen block, gefolgt von einem catch Block. Kopieren Sie den folgenden Code in den Editor.

class JavaException {
 public static void main(String args[]) {
  int d = 0;
  int n = 20;
  try {
   int fraction = n / d;
   System.out.println("This line will not be Executed");
  } catch (ArithmeticException e) {
   System.out.println("In the catch Block due to Exception = " + e);
  }
  System.out.println("End Of Main");
 }
}

Schritt 5) Speichern, kompilieren und führen Sie den Code aus. Sie erhalten die folgende Ausgabe

Wie Sie sehen, wird die Ausnahme behandelt und die letzte Codezeile wird ebenfalls ausgeführt. Beachten Sie auch, dass Zeile 7 nicht ausgeführt wird, da sobald eine Ausnahme ausgelöst wird, der Steuerungsfluss zum catch-Block springt.

Hinweis: Das AritmeticException-Objekt „e“ enthält Informationen über die aufgetretene Ausnahme, die beim Ergreifen von Wiederherstellungsmaßnahmen hilfreich sein können.

Hierarchie der Java-Ausnahmeklasse

Nachdem eine catch-Anweisung ausgeführt wurde, werden die anderen umgangen, und die Ausführung wird nach dem try/catch-Block fortgesetzt. Die verschachtelten Catch-Blöcke folgen der Ausnahmehierarchie.

Beispiel: Die Verschachtelung von Try-and-Catch-Blöcken verstehen

Schritt 1) Kopieren Sie den folgenden Code in einen Editor.

class JavaException {
 public static void main(String args[]) {
  try {
   int d = 1;
   int n = 20;
   int fraction = n / d;
   int g[] = {
    1
   };
   g[20] = 100;
  }
  /*catch(Exception e){
  	System.out.println("In the catch block due to Exception = "+e);
  }*/
  catch (ArithmeticException e) {
   System.out.println("In the catch block due to Exception = " + e);
  } catch (ArrayIndexOutOfBoundsException e) {
   System.out.println("In the catch block due to Exception = " + e);
  }
  System.out.println("End Of Main");
 }
}

Schritt 2) Speichern Sie die Datei und kompilieren Sie den Code. Führen Sie das Programm mit dem Befehl java JavaException aus .

Schritt 3) Es wird eine ArrayIndexOutOfBoundsException generiert. Ändern Sie den Wert von int d auf 0. Speichern, kompilieren und führen Sie den Code aus.

Schritt 4 ) Es muss eine ArithmeticException generiert werden.

Schritt 5) Entkommentieren Sie Zeile 10 bis Zeile 12. Code speichern, kompilieren und ausführen.

Schritt 6) Kompilierungsfehler? Dies liegt daran, dass Exception die Basisklasse von ArithmeticException Exception ist. Jede Exception, die von ArithmeticException ausgelöst wird, kann auch von der Exception-Klasse behandelt werden. Der Catch-Block von ArithmeticException wird also nie eine Chance haben, ausgeführt zu werden, was ihn überflüssig macht. Daher der Kompilierungsfehler.

Java schließlich blockieren

Der finally-Block wird unabhängig davon ausgeführt, ob eine Ausnahme ausgelöst wird im Try-Block. Es ist optional mit einem Try-Block zu verwenden.

 try {
  statement(s)
 } catch (ExceptiontType name) {

  statement(s)

 } finally {

  statement(s)

 }

Falls im try-Block eine Ausnahme ausgelöst wird, wird der finally-Block ausgeführt, nachdem der catch-Block ausgeführt wurde.

Beispiel

Schritt 1) Kopieren Sie den folgenden Code in einen Editor.

class JavaException {
   public static void main(String args[]){
    try{
       int d = 0;
       int n =20;
       int fraction = n/d;
    }
  catch(ArithmeticException e){
    System.out.println("In the catch block due to Exception = "+e);
  }
  finally{
	System.out.println("Inside the finally block");
  }
}
}

Schritt 2) Code speichern, kompilieren und ausführen.

Schritt 3) Erwartete Ausgabe. Schließlich wird der Block ausgeführt, obwohl eine Ausnahme ausgelöst wird.

Schritt 4) Ändern Sie den Wert der Variablen d =1. Speichern, kompilieren und führen Sie den Code aus und beobachten Sie die Ausgabe.Bottom of Form

Zusammenfassung :


Java

  1. Python-Ausnahmebehandlung Mit der try-, except- und finally-Anweisung
  2. Java-Ausnahmebehandlung
  3. Java versuchen ... fangen
  4. Java fängt mehrere Ausnahmen ab
  5. C++-Ausnahmebehandlung:Try, Catch, Throw Beispiel
  6. Java String charAt() Methode mit Beispiel
  7. Java-String-EndsWith()-Methode mit Beispiel
  8. Java BufferedReader:Lesen von Dateien in Java mit Beispiel
  9. Insertion Sort Algorithmus in Java mit Programmbeispiel
  10. Python-Ausnahmebehandlung:Try, Catch, Final &Raise [Beispiel]