每日一道面试题之try-catch-finally 中,如果 catch 中 return 了,finally 还会执行吗?

简介: 每日一道面试题之try-catch-finally 中,如果 catch 中 return 了,finally 还会执行吗?

finally代码段不是必须有的,但是如果有该代码段,必须紧跟在最后一个catch代码段后面,作为异常处理机制的统一出口(做善后处理),例如资源的关闭,无论try中是否产生异常,finally中的代码总在当前方法返回之前无条件执行,因此即使catch中包含return的代码,finally依然会执行,并且是在return语句执行之前执行,但需要注意的是,如果在某个catch代码段中已经执行了要终止程序的System.exit()方法,那么此时finally中的代码不会执行。

相关文章
|
8月前
|
前端开发 UED
【面试题】async/await 函数到底要不要加 try catch ?
【面试题】async/await 函数到底要不要加 try catch ?
104 0
|
8月前
|
自然语言处理 前端开发
阿里面试官:如何给所有的async函数添加try/catch?
阿里面试官:如何给所有的async函数添加try/catch?
|
30天前
|
前端开发 Java 程序员
面试官刁钻提问?轻松应对 break、continue 和 return 的巧妙用法
小米,一位技术博主,针对 Java 面试中常见的 `break`、`continue` 和 `return` 关键字进行了详细讲解。通过打怪故事和代码实例,解释了它们的使用场景及注意事项,帮助读者更好地理解和应用这些控制语句。
42 12
面试官刁钻提问?轻松应对 break、continue 和 return 的巧妙用法
|
5月前
|
Java
【Java基础面试三十九】、 finally是无条件执行的吗?
这篇文章解释了Java中的finally块的特性,即无论是否发生异常或执行了return语句,finally块都会无条件执行,除非使用System.exit()退出虚拟机。
|
5月前
|
Java
【Java基础面试四十】、在finally中return会发生什么?
文章讨论了在Java中finally块中使用return语句的问题,指出如果在finally块中使用return或throw语句,将导致try块或catch块中的相应语句失效,因为finally块中的return或throw会终止方法,之后系统不会再执行try或catch块中的代码。
|
8月前
|
开发工具 Python
Python中return和yield的区别,面试官不讲武德
Python中return和yield的区别,面试官不讲武德
|
8月前
|
Java
面试官:小伙子来说一说Java中final关键字,以及它和finally、finalize()有什么区别?
面试官:“小伙子,用过final关键字吗?” 我:“必须用过呀” 面试官:“好,那来说一说你对这个关键字的理解吧,再说一说它与finally、finalize()的区别” 我:“好嘞!
53 1
|
8月前
|
前端开发 UED
【面试题】 async/await 函数到底要不要加 try catch ?
【面试题】 async/await 函数到底要不要加 try catch ?
【面试题】 async/await 函数到底要不要加 try catch ?
|
8月前
|
前端开发 JavaScript API
【面试题】面试官:为什么Promise中的错误不能被try/catch?
【面试题】面试官:为什么Promise中的错误不能被try/catch?
|
8月前
|
自然语言处理 前端开发
【面试题】阿里面试官:如何给所有的async函数添加try/catch?
【面试题】阿里面试官:如何给所有的async函数添加try/catch?

热门文章

最新文章