Java 异常finally 代码块

/*
finally 一定会执行到除非
System.exit(0) //退出jvm
*/
class Demo{
	public  int show(int index)throws ArrayIndexOutOfBoundsException{ 
		if(index<0)
			throw new ArrayIndexOutOfBoundsException("越界了");
		int [] arr=new  int[3];
			return arr[index];	
	}
}

class ExceptionDemo6{
	public static void main(String[] args) {
		Demo d=new Demo();
		try{
			int num=d.show(-1);
			System.out.println("num="+num);
		}
		catch(ArrayIndexOutOfBoundsException e){
			System.out.println(e.toString());

			return;//finally 还会执行 除非 System.exit(0); 
		}
		finally{//通常用于关闭(释放)资源
			System.out.println("finally");
		}
		System.out.println("over");
		
	}
}

/*
try catch finally 代码块组合特点:

1、 try catch finally

2、try catch(多个)当没有必要资源需要释放时,可以不定义finally

3、try finally 异常无法直接catch 处理但是资源需要关闭

void show()throws Excepiton{//必须声明因为没有catch
	try{
		//开启资源
		throw new Exception();
	}
	finally{
		//关闭资源
	}
}

*/


/*
连接数据库
查询、Exception
关闭连接  finally

*/


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值