Java:抛出异常后如何终止执行后面的代码?

//代码1if(conn==null)//~yaofang表示连接池分配资源异常,可能是数据库运行过程中突然中止{DSLogger.error("uploadDataer... //代码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呢?正常来说不是应该终止后面代码的执行么?
展开
 我来答
FrancisGaozhu
2014-01-22 · 知道合伙人软件行家
FrancisGaozhu
知道合伙人软件行家
采纳数:492 获赞数:8942
国家认证高级软件工程师 软件研发技术讲师

向TA提问 私信TA
展开全部
首先你使用的是判断代码快,在代码快的编写上就错误了。不论是java和是C#,进行异常处理需要使用的外侧代码只有try{}catch{}finally try块中的语句就是可能要发生异常的代码,catch中的语句就是如果try中的语句发生了异常那么就执行catch中的代码。finally是一个可选的,无论是否发生异常都要进行执行的代码放在finally中。
a1163890808
2014-01-22
知道答主
回答量:41
采纳率:0%
帮助的人:18.6万
展开全部
try {
if(conn==null)// ~yaofang 表示连接池分配资源异常,可能是数据库运行过程中突然中止
{
DSLogger.error("uploadData error: pgpool failed ");
DSException e = new DSException(ErrorCode.PG_POOL_EXCEPTION, "pgpool failed ");
}
} catch (Exception e) {
e.printStackTrace()
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
dombook
2014-01-22
知道答主
回答量:45
采纳率:0%
帮助的人:15万
展开全部
你直接使用try{}catch(Exception e){}捕获不就可以了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yzyaiweier
2014-01-22 · TA获得超过347个赞
知道小有建树答主
回答量:185
采纳率:100%
帮助的人:93.2万
展开全部
可能是if语句没有走吧,debug一下试试conn是否为null
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zhongtyler
推荐于2017-09-09 · TA获得超过4408个赞
知道大有可为答主
回答量:4384
采纳率:79%
帮助的人:901万
展开全部
你如何知道运行了后续代码。
从java的机制来说,只要抛出异常必然停止。绝不可能运行代码3.
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(6)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式