异常执行的顺序

简介: package cn.exp; //输出结果为BCD //因为throw new Exception();即抛出了异常所以会跳跃到catch,System.out.println("A");不会执行。
package cn.exp;
//输出结果为BCD
//因为throw  new Exception();即抛出了异常所以会跳跃到catch,System.out.println("A");不会执行。
//但是在此之前func()里的finally是要执行的。
class Test1
{	
	public static void func()throws Exception{
		try
		{
			throw  new Exception();
		}
		finally
		{
			System.out.println("B");
		}
	}
	
	public static void main(String[] args){
		try
		{
			func();
			System.out.println("A");
		}
		catch(Exception e)
		{
			System.out.println("C");
		}
		System.out.println("D");
	}
}


相关文章
|
Java
java有3个独立的线程,一个只会输出A,一个只会输出L,一个只会输出I。在三个线程同时启动的情况下,如何让它们按顺序打印ALIALI。
java有3个独立的线程,一个只会输出A,一个只会输出L,一个只会输出I。在三个线程同时启动的情况下,如何让它们按顺序打印ALIALI。
102 1
|
2月前
|
监控 Java
捕获线程执行异常的多种方法
【10月更文挑战第15天】捕获线程执行异常的方法多种多样,每种方法都有其特点和适用场景。在实际开发中,需要根据具体情况选择合适的方法或结合多种方法来实现全面有效的线程异常捕获。这有助于提高程序的健壮性和稳定性,减少因线程异常带来的潜在风险。
28 1
|
前端开发 rax Linux
【CSAPP】异常控制流 | 异常表 | 异常类别 | 同步异常 | 异步异常
【CSAPP】异常控制流 | 异常表 | 异常类别 | 同步异常 | 异步异常
142 0
|
Go 数据库
sync.Once-保证运行期间的某段代码只会执行一次
sync.Once-保证运行期间的某段代码只会执行一次
89 0
|
消息中间件 前端开发 NoSQL
如何判断线程池任务执行完?
如何判断线程池任务执行完?
244 0
如何判断线程池任务执行完?
三个线程循环顺序打印
三个线程循环顺序打印
82 0
|
算法
【递归可以干什么】1#重复执行某种模式
【递归可以干什么】1#重复执行某种模式
87 0
你真的明白关于迭代器的方法、使用异常、并发修改异常介绍嘛?
关于迭代器的方法、使用异常、并发修改异常介绍的使用
146 0
你真的明白关于迭代器的方法、使用异常、并发修改异常介绍嘛?
两个线程按顺序打印1~100的几种实现
两个线程按顺序打印1~100的几种实现
182 0