manejo de excepciones y excepciones de Java

anormal

Excepción (excepción): se produce una excepción en la secuencia de código durante la operación.

Los tipos de excepciones son
Inserte la descripción de la imagen aquí

1. Estructura de prueba y captura

Utilice palabras clave de prueba y captura para detectar excepciones. El bloque de código try / catch se coloca donde puede ocurrir la excepción.

El código en el bloque de código try / catch se llama código de protección. La sintaxis para usar try / catch es la siguiente:

try
{
    
    
   // 程序代码
}catch(ExceptionName e1)
{
    
    
   //Catch 块
}

P.ej

public static void main(String[] args) {
    
    
        try{
    
    
            int num = 5/0;
            System.out.println(num);
        }catch (ArithmeticException e){
    
    
            System.out.println("除数不能为零");
        }finally {
    
    
            System.out.println("回收代码资源");
        }
        try{
    
    
            String string = null;
            System.out.println(string.length());
        }catch (NullPointerException e){
    
    
            System.out.println("数值不能为空");
        }finally {
    
    
            System.out.println("回收代码资源");
        }
        System.out.println("程序继续执行");
    }

2. Estructura de prueba y captura múltiple

La situación en la que un bloque de código de prueba va seguido de varios bloques de código de captura se denomina captura múltiple.

try{
    
    
   // 程序代码
}catch(异常类型1 异常的变量名1){
    
    
  // 程序代码
}catch(异常类型2 异常的变量名2){
    
    
  // 程序代码
}catch(异常类型3 异常的变量名3){
    
    
  // 程序代码
}

P.ej

try {
    
    
    file = new FileInputStream(fileName);
    x = (byte) file.read();
} catch(FileNotFoundException f) {
    
     // Not valid!
    f.printStackTrace();
    return -1;
} catch(IOException i) {
    
    
    i.printStackTrace();
    return -1;
}

3. Lanza / lanza palabras clave

Si un método no detecta una excepción marcada, entonces el método debe declararse usando la palabra clave throws. La palabra clave throws se coloca al final de la firma del método.

También puede usar la palabra clave throw para lanzar una excepción, ya sea que se haya creado una nueva instancia o simplemente se haya detectado.

P.ej

import java.io.*;
public class className
{
    
    
  public void deposit(double amount) throws RemoteException
  {
    
    
    // Method implementation
    throw new RemoteException();
  }
  //Remainder of class definition
}
import java.io.*;
public class className
{
    
    
   public void withdraw(double amount) throws RemoteException,
                              InsufficientFundsException
   {
    
    
       // Method implementation
   }
   //Remainder of class definition
}

4. Finalmente palabra clave

La palabra clave finalmente se utiliza para crear un bloque de código que se ejecuta después del bloque de código de prueba.

Independientemente de si se produce una excepción, el código del bloque de código finalmente siempre se ejecutará.

En el bloque de código finalmente, puede ejecutar tipos de limpieza y otras declaraciones de finalización.

public class ExcepTest{
    
    
  public static void main(String args[]){
    
    
    int a[] = new int[2];
    try{
    
    
       System.out.println("Access element three :" + a[3]);
    }catch(ArrayIndexOutOfBoundsException e){
    
    
       System.out.println("Exception thrown  :" + e);
    }
    finally{
    
    
       a[0] = 6;
       System.out.println("First element value: " +a[0]);
       System.out.println("The finally statement is executed");
    }
  }
}

Finalmente, puede pensar en ello como recursos de reciclaje.

5. Resumen

  1. Los errores que ocurren durante la operación se denominan excepciones;
  2. Java usa try, catch, throw, throws y finalmente para manejar las excepciones de Java;
  3. El código monitoreado se escribe en el bloque try, el código utilizado para capturar y manejar excepciones se escribe en el bloque catch, y finalmente se coloca el código que se debe ejecutar;
  4. Para generar una excepción manualmente, puede usar la palabra clave throw. Cualquier excepción lanzada fuera del método debe especificarse con la cláusula throws.

Supongo que te gusta

Origin blog.csdn.net/s001125/article/details/110489235
Recomendado
Clasificación