[Java Silver] (Ausnahmebehandlung) Informationen zu den Anweisungen try-catch-finally und try-with-resource

try-catch-finally- und try-with-resource-Anweisungen

Beides sind Syntaxen zur Beschreibung der Ausnahmebehandlung.

** * Was ist Ausnahmebehandlung **

Zu den Java-Ausnahmen gehören Fehler, Ausnahme (aktivierte Ausnahme) und RuntimeException (nicht aktivierte Ausnahme).

・ ** Fehler ** ist ein Problem, das vom Programm nicht behoben werden kann (*** Im Gegensatz zu Kompilierungsfehler **, ** Ausnahme **)

Lassen Sie die Methode die Ausnahme ignorieren. ・ Lösen Sie eine Ausnahme von der Methode aus

Beispiel)

public test() throws IndexOutOfBounsException {
   //wird bearbeitet
}

→ Auch wenn dabei IndexOutOfBounsException auftritt, wird die Testmethode ignoriert. IndexOutOfBoundsException tritt auf der Seite auf, auf der die Testmethode ausgeführt wurde.

public test(){
  throw new IndexOutOfWxception();
}

→ Bei der Ausführung der Testmethode tritt in der Testmethode eine IndexOutOfWxception-Ausnahme auf.

try-catch-finally-Anweisung

-Try-Block: Verarbeitung, die eine Ausnahme verursachen kann -Catch-Block: Verarbeitung, wenn eine Ausnahme auftritt -Finally Block: Der letzte Prozess, der auf jeden Fall ausgeführt wird

** [Beispiel einer try-catch-finally-Anweisung] **

public class Main {
	public static void main(String[] args){
     System.out.println(test(null));  

    //Schließlich Blockverarbeitung
    //Argument ist null

   //Wird angezeigt

     System.out.println(test(10));

  //Der Wert des Arguments ist 10
  //Schließlich Blockverarbeitung
  //Das Argument war gültig

   //Wird angezeigt

  }

    public static String test(Object obj){
        try{
            System.out.println("Der Wert des Arguments ist" + obj.toString());
        }catch(NullPointerException e){
            return "Argument ist null";
        }finally{
            System.out.println("Schließlich Blockverarbeitung");
        }
        return "Das Argument war gültig";
    }
}

Try-with-Resource-Anweisung

** Syntax, die automatisch die ** close-Methode ** der Ressource aufruft, um die Ressource freizugeben, wenn eine Ausnahme auftritt

** - Ausführungsreihenfolge verarbeiten ** ① Geben Sie die Ressource mit der Methode close frei (2) Ausnahmeverarbeitung des Fangblocks ③ Verarbeiten Sie abschließend den Block

** * Ressourcen vor der Ausnahmebehandlung freigeben **

** [Beispiel für eine Try-with-Resource-Anweisung] ** (Von Java Silver Kuromoto)

public class Main {
	public static void main(String[] args){
     try(Sample s = new Sample()){
         throw new Exception();  //Eine Ausnahme auslösen
     }catch(Exception e){
         System.out.println("A");
     }finally{
         System.out.println("B");
     }
  }
}

class Sample implements AutoCloseable{
    public void close() throws Exception{
        System.out.println("C");  //C wird angezeigt, wenn die Methode close ausgeführt wird
    }
}

↓ "C A B" wird angezeigt. Weil es in der Reihenfolge der Methode close → catch block → fianlly block ausgeführt wird

Referenz) Offizielles Dokument / AutoCloseable-Schnittstelle

Ein Objekt, das Ressourcen (wie Dateien und Socket-Handles) enthalten kann, bis es geschlossen wird. Die Methode close () eines AutoCloseable-Objekts wird automatisch am Ende des Try-with-Resources-Blocks aufgerufen, in dem das Objekt im Ressourcenspezifikationsheader deklariert ist. Dieser Build stellt die sofortige Freigabe sicher und vermeidet Ausnahmen und Fehler bei Ressourcenknappheit, die andernfalls auftreten können.

Recommended Posts

[Java Silver] (Ausnahmebehandlung) Informationen zu den Anweisungen try-catch-finally und try-with-resource
[Java] Informationen zur Behandlung von Try-Catch-Ausnahmen
[Für Java-Anfänger] Informationen zur Ausnahmebehandlung
Informationen zur Ausnahmebehandlung
Informationen zur Ausnahmebehandlung
[Java] Ausnahmebehandlung
☾ Java / Ausnahmebehandlung
Informationen zur Behandlung von Java-Ausnahmen
Behandlung von Java-Ausnahmen
[Einführung in Java] Informationen zur Ausnahmebehandlung (try-catch-finally, aktivierte Ausnahme, nicht aktivierte Ausnahme, Würfe, Würfe)
try-catch-finally Ausnahmebehandlung Verwendung von Java
Fragen in Java-Ausnahmebehandlung werfen und versuchen-fangen
Informationen zur Behandlung von Ruby-Ausnahmen
[Java Silver] Informationen zur Initialisierung
Informationen zur Vererbung (Java Silver)
[Java] Praxis der Ausnahmebehandlung [Ausnahme]
Informationen zu Java-Variablendeklarationsanweisungen
Java if- und switch-Anweisungen
Verwendungsregeln für die Behandlung von Java-Ausnahmen
[Java Silver] Über gleich Methode
[Java] Über String und StringBuilder
Über Java-Paket und Import
Ausnahmebehandlungstechniken in Java
Java während und für Anweisungen
Informationen zu statischen und nicht statischen Java-Methoden
Über Biocontainer fastqc und Java
[Inhouse-Studiensitzung] Behandlung von Java-Ausnahmen (26.04.2017)
[Java-Anfänger] Über Abstraktion und Schnittstelle
Informationen zu primitiven Java-Typen und Referenztypen
Schrittweises Verständnis der Behandlung von Java-Ausnahmen
Dies und das über Base64 (Java)
[Java] Ausnahmetypen und grundlegende Verarbeitung
Wie man die Java Silver Prüfung ablegt und wie man lernt
[Über JDBC, das Java und SQL verbindet]
Java (Ausnahmebehandlung, Threading, Sammlung, Datei-E / A)
Ausnahmebehandlung Ausnahme
[ev3 × Java] Schnittstelle, Implementierung und Vererbung (Ereignisverarbeitung)
Informationen zu Java-Datentypen (insbesondere primitiven Typen) und Literalen
Fehlerprotokolle und Ausnahmebehandlung, die häufig im Java-Bereich angezeigt werden