美文网首页
Java异常处理深入理解

Java异常处理深入理解

作者: winyiwin | 来源:发表于2017-10-16 21:26 被阅读0次

Java异常管理是通过try、catch、throw、throws、finally进行管理。

try 和 catch类似于“一夫多妻制”,一个try代码块的声明,必须和(一个或多个catch)或finally块相对应。
catch的作用域被限制在"丈夫"声明的语句块中,catch也管不了其他try语句抛出的异常,就是自家的事情还管不了,没空管别人家的。例外情况是在try中嵌套声明try-catch

// try1
try {
  // 丈夫1
  try{
    // try子块
  } catch (Ex e) {
    //子媳妇
  }
}  catch (Ex e) {
    //小媳妇
} catch (Ex e) {
  //正房
}
//try2
try {
  //丈夫2
} finally {

}

try1块有两个媳妇(小媳妇和正房,她们不会管try2的异常,但是会管try子块的异常)。小媳妇为正房的子类,必须声明在正房之前,否则会报已经被捕获的错误。
finally块除了在异常发生之前使用System.exit(0);手动停止程序 和 未进入try块的情况,都会执行。在try中使用 return;return sth; finally块都会执行。。并且在finally中使用return sth;如果基本数据类型,则覆盖返回;若是引用数据类型则修改堆中对象的值返回,这也很好说明了Java只有值传递。

  • JDK7对异常添加了新的语法糖
    • 带资源的try-catch。也就是说我们不用再手动的处理finally关闭资源或连接了。但是,too young too simple,还是乖乖用显示的关闭吧,虽然建议是用带资源的try-catch.
    • 多重捕获。catch 可以用 | 连接,捕获多个异常。

异常有罪,且用且珍惜。不应当把异常处理机制作为流程处理机制来用

相关文章

  • Java异常处理深入理解

    Java异常管理是通过try、catch、throw、throws、finally进行管理。 try 和 catc...

  • 异常处理 ?处理(try-catch) :甩锅(throws)_

    本章概要 本章主要和大家一起学习java异常类的处理机制,深入学习java异常类。掌握异常处理机制,及背后的逻辑。...

  • 阿里巴巴高级Java面试题 续2

    八、深入理解java异常处理机制 引子try…catch…finally恐怕是大家再熟悉不过的语句了, 你的答案是...

  • 深入理解 Java 异常

    ? 本文已归档到:「javacore」? 本文中的示例代码已归档到:「javacore」 1. 异常框架 1.1....

  • Java异常的分类

    参考Java异常体系简析深入理解Java中异常体系 简单的介绍一下: Throwable是所有异常的父类 Erro...

  • 深入理解java异常处理机制-exception

    JAVA异常 异常指不期而至的各种状况,如:文件找不到、网络连接失败、非法参数等。异常是一个事件,它发生在程序运行...

  • 深入理解 Spring 异常处理

    1. 前言 相信我们每个人在 SpringMVC 开发中,都遇到这样的问题:当我们的代码正常运行时,返回的数据是我...

  • java异常处理2(细微细节)

    //这次博客是对我所写的java异常处理1(基本技术)的一个补充,如果对java的异常处理机制还未理解请移步htt...

  • Java异常总结

    目录 理解Java异常处理机制的结构体系,理解Throwable、Exception/Error的设计和分类。 理...

  • 关于异常

    参考资料:JVM如何处理异常深入详解 一、Java 异常的概念和分类 所有的异常都派生于Throwable类的一个...

网友评论

      本文标题:Java异常处理深入理解

      本文链接:https://www.haomeiwen.com/subject/gkpluxtx.html