Maison  >  Article  >  Java  >  Comment gérer les exceptions en Java

Comment gérer les exceptions en Java

王林
王林avant
2020-07-31 16:11:442607parcourir

Comment gérer les exceptions en Java

La gestion des exceptions est divisée en gestion passive (si vous ne pouvez pas la gérer vous-même, lancez des lancers à l'endroit où elle est appelée, l'exception n'est pas résolue, juste lancée) et active gestion (capture des exceptions, la capture des exceptions est réalisée via des instructions try-catch ou des instructions try-catch-finally).

(Tutoriel recommandé : Tutoriel d'introduction à Java)

Traitement négatif :

Syntaxe :

public void m1() throws 异常类名1,异常类名2{}

Autoriser la compilation.

Lorsque l'exception levée est une exception non-exécutable (cochée), l'appelant qui appelle cette méthode doit la gérer.

Lorsque l'exception levée est une exception d'exécution (non cochée), elle peut être gérée ou non.

Gestion positive : (capture d'exception)

Attrapez l'exception directement et gérez-la.

Syntaxe :

try{
	  //异常代码
	}catch(异常类名 引用名){  

		//当异常产生执行的代码
	}

Le bloc de code catch après essai ne peut en correspondre qu'à un seul avec succès.

Lorsque l'exception déclarée après catch est une classe parent, les exceptions qu'elle peut intercepter sont elle-même + toutes les exceptions de sous-classe (une manifestation du polymorphisme).

Remarque : lorsque le bloc de code catch intercepte une exception, l'exception de sous-classe doit être définie avant l'exception de classe parent, sinon une erreur de compilation se produira.

(Tutoriel vidéo recommandé : Tutoriel vidéo Java )

Enfin le bloc de code : Le code de ce bloc de code sera définitivement exécuté et est souvent utilisé pour fermer des ressources.

	try{
	
	}catch(){
	
	}finally{
		//无论是否产生异常,一定会去执行的代码
	}

Remarque : Ne définissez pas d'instruction return dans le bloc de code final.

Exemple :

package work;

import java.io.EOFException;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.sql.SQLException;
import java.util.Scanner;

/**
 * @author 超伟
 * @date 2019年5月13日  
 * @version 1.0.0  
 */
public class t4 {
	public static void main(String[] args) {
		System.out.println("main1");
		int n;
		Scanner sc = new Scanner(System.in);
		n = sc.nextInt();
		ma(n);
		System.out.println("main2");
	}
	public static void ma(int n){
		try {
			System.out.println("m1");
			mb(n);
			System.out.println("m2");
		} catch (EOFException e) {
			//e.printStackTrace();
			System.out.println("EOFException    ");
		} catch (IOException e) {
			System.out.println("IOException e111");
		}catch (SQLException e) {
			System.out.println("SQLException");
		}catch (Exception e) {
			System.out.println("Exception");
		}finally{
			System.out.println("in finally");
		}
	}
	
	public static void mb(int n) throws Exception {
		System.out.println("mb1");
		if (n==1) {
			throw new EOFException();
		}
		if (n==2) {
			throw new FileNotFoundException();
		}
		if (n==3) {
			throw new SQLException();
		}
		if (n==4) {
			throw new NullPointerException();
		}
		System.out.println("mb2");
	}	
}
程序运行结果为:
main1
1
m1
mb1
EOFException    
in finally
main2

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer