Java基础-----异常机制

Java基础-----异常机制


一、异常机制

在这里插入图片描述

比如我们工作中需要拷贝文件?

那么拷贝文件的时候可能出现文件不存在的问题、可能出现内存被占满的情况 ,可能存在其他问题

这个是时候使用判断语句会非常麻烦(这个时候异常起到的作用就非常大了) 只要是出错误了就声明异常就行

1.1、异常机制的本质

1.2、异常的概念

在这里插入图片描述

1.3、异常分类

在这里插入图片描述

1.3.1、Exception类

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

1.3.1.1、CheckedException类

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

1.3.2、Error类

在这里插入图片描述
在这里插入图片描述


二、异常的处理

2.1、try-catch-finally

在这里插入图片描述
在这里插入图片描述

注意:当try语句块的某一个位置出现异常直接跳到catch语句中,捕获异常后不会在执行try里面语句了

在这里插入图片描述
在这里插入图片描述

2.2、执行顺序

在这里插入图片描述

package wr.oyc.exception;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;

public class Main {
    
    
    public static void main(String[] args) throws SQLException {
    
    
        Connection connection = null ;
        PreparedStatement preparedStatement = null ;
        int a = 3 ;


        try{
    
    

            a = 1 / 2;

            System.out.println("开始执行sql语句");

            a = 1 / 0 ;

            System.out.println("开始执行sql语句");

            String sql = "select * from user" ;

            preparedStatement = connection.prepareStatement(sql);

            preparedStatement.executeUpdate();

        }catch (Exception e ){
    
    
            e.printStackTrace();
        }finally {
    
    
            if(connection!=null){
    
    
                connection.close();
            }
            if(preparedStatement!=null){
    
    
                preparedStatement.close();
            }
        }
    }
}

在这里插入图片描述

2.2、throws声明异常

在这里插入图片描述

在这里插入图片描述

  public static void main(String[] args) throws SQLException {
    
    

2.3、try–with–resource 新特性

try-with-resource自动关闭Closable接口的资源
在这里插入图片描述
在这里插入图片描述

2.4、自定义异常

在这里插入图片描述

package wr.oyc.exception;

public class AgeException extends Exception {
    
    

    public AgeException(String message) {
    
    
        super(message);
    }


}

package wr.oyc.exception;

public class Main01 {
    
    
    public static void main(String[] args) throws AgeException{
    
    
        int age = 17 ;

        if(age < 18 ){
    
    
            throw new AgeException("未成年人需要被保护");
        }
    }
}

在这里插入图片描述


总结

异常的概念,异常的分类、处理异常的方法(try catch finally)和 抛出异常 和 try() catch 自定义异常类

Guess you like

Origin blog.csdn.net/qq_48788523/article/details/121725917