异常检查不写finally而是写在catch 后可否?

try{

}catch(Exception e){

}finally{
    //finally相关处理语句
}
try{

}catch(Exception e){

}
//finally相关处理语句

以上两种方式有何不同?

qq_杀意隆_0
浏览 2449回答 5
5回答

风月理不平我

finally是一定执行的,一半用来关闭资源,即使你catch里面截断了代码也不影响finally执行

qq_杀意隆_0

来自知乎: finally块是保证肯定会被执行,哪怕你在try块或者catch块了写了return。

yanrun

finally通常用于释放资源,比如你在try中连接了数据库,但是出错抛异常了,如果是第一种的话,可以把关闭数据库连接的语句写在finally中,因为finally一定会执行所以可以保证数据库的连接会被关闭,而第二种则不能保证数据库连接会被关闭
打开App,查看更多内容
随时随地看视频慕课网APP