对Try-Catch的理解

本文介绍了一个自定义异常类DrunkException及如何在Java中通过异常链传递异常。此外还解释了finally块的作用,即不论是否发生异常,finally块中的代码总会被执行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这是自定义的DrunkException类:

public class DrunkException extends Exception{
    public DrunkException(){}
    public DrunkException(String message){
    	super(message);
    }
    
}


这是一个抛出异常链,只要产生异常就可以抛出给调用者处理,并且可以在catch中继续向上抛。

public class ChainTest {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		ChainTest ct = new ChainTest();
		try{
			ct.Test3();
		}catch(Exception e){
			e.printStackTrace();
		}
	}
	public void Test3() throws Exception{
		try{
    		Test2();
    	}catch(Exception e){
    		//Exception run=new Exception(e);
    		//throw run;
    		throw e;
    	}
	}
    public void Test2() throws Exception{
    	try{
    		Test1();
    	}catch(DrunkException e){
    		//Exception run=new Exception(e);
    		//throw run;
    		//DrunkException drunkEx = new DrunkException(e.toString());
    		//throw drunkEx;
    		throw e;
    	}
    }
    public void Test1() throws DrunkException{
    	throw new DrunkException("执行了DrunkException");
    }
}


关于finally需要说的就是,无论执不执行catch,finally是一定会执行的。

一些Exception的类型可以在网上自行查阅

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值