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呢?正常来说不是应该终止后面代码的执行么? 展开
 我来答
水珠步雨华
2020-02-03 · TA获得超过3778个赞
知道小有建树答主
回答量:3106
采纳率:26%
帮助的人:427万
展开全部
在Java中,抛出异常之后,如果不对异常进行处理,代码会一直往调用的上层抛,直到线程的执行器,如果在这里异常仍然未得到处理,线程将停止执行。所以抛出异常后如果不对异常进行处理,后面的代码将不会执行。
比如以下代码:
public void testException throws Exception(){
System.out.println("start");
throw new Exception("test exception");
System.out.println("execute ended?");
}
最后一行代码在异常抛出之后,这行代码是不会执行的。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式