java139-多个catch块


import java.sql.Connection;
 
import java.io.IOException;
import java.sql.SQLException;
 
//java异常处理
//异常
public class test82 {
    //定义方法声明定义异常,在满足条件时抛出异常对象,程序转向异常处理
    public double count(double n, double m, Connection conn)throws ArithmeticException,SQLException {
        if (m == 0) {//如果除数等于0.则抛出异常实例
            throw  new ArithmeticException("对不起。除数不能等于0");
        }
        if(conn==null||conn.isClosed()){
            throw new SQLException( "数据库连接失败" );
        }
        return n/m;
    }
}
测试类

import java.sql.Connection;
import java.sql.SQLException;
 
public class test80 {
    //定义了编译异常的方法调用,必须进行显示处理
    public static void main(String[] args){
        test82 com=new test82();
        Connection conn = null;
        try {
 
            double t = com.count( 78, 2, conn );
 
            //子类异常必须放在前面
        }catch (SQLException e){
            String msg = e.getMessage();
            System.err.println( msg );
            e.printStackTrace();//打印异常轨迹
        }catch (Exception e){
        String msg = e.getMessage();
        System.err.println( msg );
        e.printStackTrace();//打印异常轨迹
    }finally {//强制执行的代码,通常执行释放被占用的资源
            System.out.println( "开始资源释放" );
            try {
                conn.close();
            }catch (SQLException e){
                e.printStackTrace();
            }
            System.out.println( "资源释放完毕" );
        }
    }
}
运行结果

 

posted @   前端导师歌谣  阅读(64)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
点击右上角即可分享
微信分享提示