Java:抛出异常后如何终止执行后面的代码?
//代码1if(conn==null)//~yaofang表示连接池分配资源异常,可能是数据库运行过程中突然中止{DSLogger.err...
//代码1 if(conn==null)// ~yaofang 表示连接池分配资源异常,可能是数据库运行过程中突然中止 { DSLogger.error("uploadData error: pgpool failed "); DSException e = new DSException(ErrorCode.PG_POOL_EXCEPTION, "pgpool failed "); throw e; } //代码3 我在if语句中抛出了一个自定义异常,叫做DSException,但异常都已经抛出了,为什么还会继续执行代码3呢?正常来说不是应该终止后面代码的执行么?
展开
1个回答
展开全部
在Java中,抛出异常之后,如果不对异常进行处理,代码会一直往调用的上层抛,直到线程的执行器,如果在这里异常仍然未得到处理,线程将停止执行。所以抛出异常后如果不对异常进行处理,后面的代码将不会执行。
比如以下代码:
public void testException throws Exception(){
System.out.println("start");
throw new Exception("test exception");
System.out.println("execute ended?");
}
最后一行代码在异常抛出之后,这行代码是不会执行的。
比如以下代码:
public void testException throws Exception(){
System.out.println("start");
throw new Exception("test exception");
System.out.println("execute ended?");
}
最后一行代码在异常抛出之后,这行代码是不会执行的。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |