博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java捕获到异常以后,后面的代码还会执行吗?
阅读量:4168 次
发布时间:2019-05-26

本文共 968 字,大约阅读时间需要 3 分钟。

转自:http://zhidao.baidu.com/link?url=BgAg2K6tQumyPRJyjIWCGEQe-knlVG-N67MUp1QoZyvkzvb7qZ3QpLz101rtAOqk7E1OD1mUXzbEJYOtFziP8AAvu7eX2huTAqD1FtnpHBK

return会执行的。try{}里面包含可能会出错的代码?如果里面出错了,他回交给catch{}处理,catch可能把这个错误给屏蔽掉(就比如说你牙疼不能吃饭,给给力来个止疼的,不影响你做其他的事情了)。。不影响你之后的代码运行。。但是如果你try{}里面有多行代码第一行,第二行,第三行,如果第二行出错了,第三行是不执行的。如果有finally{}这里里面代码是处理后事的。比如说,你try里面有操作的,那么如果出错了fianlly可以用力处理,关闭对象,避免浪费资源。finally{}是必须执行的,不是管是出错了,还是不出错。

try{


//正常执行的代码
}catch (Exception e){

//出错后执行的代码
}finally{

//无论正常执行还是出错,之后都会执行的代码
}
//跟上面try catch无关的代码

正常执行的代码如果出现异常,就不会执行出现异常语句后面的所有正常代码.
异常可能会被捕获掉,比如上面catch声明的是捕获Exception,那么所有Exception包括子类都会被捕获,但如Error或者是Throwable但又不是Exception(Exception继承Throwable)就不会被捕获.
如果异常被捕获,就会执行catch里面的代码.如果异常没有被捕获,就会往外抛出,相当于这整个方法出现了异常.
finally中的代码只要执行进了try catch永远都会被执行.执行完finally中的代码,如果异常被捕获就会执行外面跟这个try catch无关的代码.否则就会继续往外.
return无论在哪里,只要执行到就会返回,但唯一一点不同的是如果return在try或者catch中,即使返回了,最终finally中的代码都会被执行.这种情况最常用的是打开了某些资源后必须关闭,比如打开了一个OutputStream,那就应该在finally中关闭,这样无论有没有出现异常,都会被关闭.

转载地址:http://sbmxi.baihongyu.com/

你可能感兴趣的文章
字符串 与 java.sql.Timestamp转换博客分类: javaJavaSQL
查看>>
奇怪的ubuntu不能解析域名的问题
查看>>
cat | wc -l 少一行的问题
查看>>
socket 科普文章
查看>>
Mutex, semaphore, spinlock的深度解析
查看>>
pthread线程使用小结
查看>>
线程池 范例
查看>>
utf8转gbk,去掉繁体字符
查看>>
UTF-8 GBK UTF8 GB2312 之间的区别和关系
查看>>
Linux内存管理之一 分段与分页
查看>>
Linux内存管理之二 内存节点和内存分区
查看>>
Linux内存管理之三 页的分配和释放
查看>>
Linux下基于C/C++的Socket编程实例
查看>>
linux-删除当前目录下,文件大小小于2k的文件
查看>>
Linux-压缩文件夹,并排除某个文件夹
查看>>
Linux-查看文件每行有多少列
查看>>
RobotFramework-接口测试-SSL双向验证证书配置
查看>>
RobotFramework-关键字-Wait Until Keyword Succeeds
查看>>
Ubuntu系统上轻松截图的几种方法介绍
查看>>
线性表--线性存储
查看>>