[Java Silver] (Gestion des exceptions) À propos des instructions try-catch-finally et try-with-resource

instructions try-catch-finally et try-with-resource

Les deux sont des syntaxes pour décrire la gestion des exceptions.

** * Qu'est-ce que la gestion des exceptions **

Les exceptions Java incluent Error, Exception (exception cochée) et RuntimeException (exception non cochée).

・ ** Erreur ** est un problème qui ne peut pas être traité par le programme (*** Contrairement à l'erreur de compilation **, ** Exception **)

Faire en sorte que la méthode ignore l'exception ・ Lève une exception à partir de la méthode

Exemple)

public test() throws IndexOutOfBounsException {
   //En traitement
}

→ Même si IndexOutOfBounsException se produit dans le processus, la méthode de test est ignorée. IndexOutOfBoundsException se produit du côté qui a exécuté la méthode de test.

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

→ Lors de l'exécution de la méthode de test, une exception IndexOutOfWxception se produit dans la méthode de test.

instruction try-catch-finally

-Try block: traitement pouvant provoquer une exception -Catch block: traitement lorsqu'une exception se produit -Finally block: Le dernier processus à être exécuté dans tous les cas

** [Exemple d'instruction try-catch-finally] **

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

    //Enfin bloquer le traitement
    //L'argument est nul

   //Est affiché

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

  //La valeur de l'argument est 10
  //Enfin bloquer le traitement
  //L'argument était valide

   //Est affiché

  }

    public static String test(Object obj){
        try{
            System.out.println("La valeur de l'argument est" + obj.toString());
        }catch(NullPointerException e){
            return "L'argument est nul";
        }finally{
            System.out.println("Enfin bloquer le traitement");
        }
        return "L'argument était valide";
    }
}

instruction try-with-resource

** Syntaxe qui appelle automatiquement la ** méthode close ** de la ressource pour libérer la ressource lorsqu'une exception se produit

** - Ordre d'exécution du processus ** ① Libérez la ressource avec la méthode close (2) Traitement d'exception du bloc catch ③ Traitez enfin le bloc

** * Libérer les ressources avant le traitement des exceptions **

** [Exemple d'instruction try-with-resource] ** (De Java Silver Kuromoto)

public class Main {
	public static void main(String[] args){
     try(Sample s = new Sample()){
         throw new Exception();  //Soulever une exception
     }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 s'affiche lorsque la méthode close est exécutée
    }
}

↓ "C A B" s'affiche. Parce qu'il est exécuté dans l'ordre de la méthode close → catch block → fianlly block

référence) Document officiel / interface AutoCloseable

Un objet qui peut contenir des ressources (comme des fichiers et des poignées de socket) jusqu'à ce qu'il soit fermé. La méthode close () d'un objet AutoCloseable est automatiquement appelée à la fin du bloc try-with-resources dans lequel l'objet est déclaré dans l'en-tête de spécification de ressource. Cette version garantit une libération immédiate et évite les exceptions de pénurie de ressources et les erreurs qui pourraient se produire autrement.

Recommended Posts

[Java Silver] (Gestion des exceptions) À propos des instructions try-catch-finally et try-with-resource
[Java] À propos de la gestion des exceptions try-catch
[Pour les débutants en Java] À propos de la gestion des exceptions
À propos de la gestion des exceptions
À propos de la gestion des exceptions
[Java] Gestion des exceptions
☾ Java / Gestion des exceptions
À propos de la gestion des exceptions Java
Gestion des exceptions Java
[Introduction à Java] À propos de la gestion des exceptions (try-catch-finally, exception vérifiée, exception non vérifiée, throws, throw)
gestion des exceptions try-catch-finally Comment utiliser java
Questions sur la gestion des exceptions Java throw et try-catch
À propos de la gestion des exceptions Ruby
[Java Silver] À propos de l'initialisation
À propos de l'héritage (Java Silver)
[Java] Pratique de la gestion des exceptions [Exception]
À propos des instructions de déclaration de variable Java
Instructions Java if et switch
Règles d'utilisation pour la gestion des exceptions Java
[Java Silver] À propos de la méthode equals
[Java] À propos de String et StringBuilder
À propos du package Java et de l'importation
Techniques de gestion des exceptions en Java
Instructions Java while et for
À propos des méthodes Java statiques et non statiques
À propos de Biocontainers fastqc et Java
[Session d'étude interne] Gestion des exceptions Java (2017/04/26)
[Java débutant] À propos de l'abstraction et de l'interface
A propos des types primitifs et des types de référence Java
Compréhension étape par étape de la gestion des exceptions Java
Ceci et cela à propos de Base64 (Java)
[Java] Types d'exception et traitement de base
Comment passer l'examen Java Silver et comment apprendre
[À propos de JDBC qui connecte Java et SQL]
Java (gestion des exceptions, threading, collection, fichier IO)
Exception de traitement des exceptions
[ev3 × Java] Interface, implémentation et héritage (traitement événementiel)
À propos des types de données Java (en particulier des types primitifs) et des littéraux
Journaux d'erreurs et gestion des exceptions qui sont souvent vus dans la zone Java