版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

本文链接:https://blog.csdn.net/qq_38225558/article/details/82054100

try {

可能出现异常的代码(包括不会出现异常的代码)

} catch (Exception e) {          //()里为接收try{}代码块中出现异常的类型

如果出现异常时的处理方式

}

try-catch的执行顺序:

①从 try{ } 代码块中第一行开始执行,执行到出现异常的代码,jvm会创建一个异常对象

②判断catch中声明的异常类型是否能捕捉到jvm创建的异常对象

i:  能捕捉到:直接跳到catch代码块中执行。  不会结束程序,继续从catch代码块后面的代码执行

ii:  不能捕捉到:直接打印异常信息并结束程序

③try{} 中没有出现任何异常,把try中的所有代码执行完,跳过catch继续程序

注意:

1.能被catch捕捉到的条件 ==》try中创建的异常对象的类型与catch中声明的类型一致,或者是catch中声明的类型的子类。

2.如果只有一个捕捉指定类型的catch 只能捕捉对应类型的异常对象。  如果try中创建了其他类型的异常,捕捉不到。Jvm来处理异常

3.try{}代码块中存在多行代码会抛出异常的情况下,遇到第一个异常,后面代码的异常 只会被catch捕捉到异常信息但都将不会被执行

4.那么我们如何才能处理try{}中的每一个异常呢??

① 写多个catch : 每一个catch处理一种异常        ==>    try{ }catch(){ }catch(){ }catch(){ }

效果:当try中出现了异常,直接跳到第一个catch处判断,是否能捕捉。

a:能捕捉:直接处理。  然后跳过trycatch往后执行

b:不能捕捉:跳到下一个catch继续判断。如果下一个能捕捉,重复第一步的效果

c:所有catch都不能捕捉 ==> 交给jvm处理:结束程序,在控制台打印异常信息

② 写一个catch  要求:catch中的异常类型必须是try中抛出的所有异常的父类

注意事项:写多个catch时,下边的catch声明的异常类型不能是上边的catch声明的子类。

多个catch时,异常父类必须在下边。   (没有继承关系时,就不用考虑此情况)

try{  }catch(){  }catch(){  }...finally{  }                   (catch可以有多个,也可以没有 ==》 try{ }finally{ })

特点:写在finally代码块中代码,一定会被执行到

注意:①执行了 return    也会执行finally

②但 执行 System.exit(0)   就不会再执行finally了!!!

ex1: (此时 Integer in = new Integer("1");  不会出现异常的情况下)

ex2: (此时 Integer in = new Integer("A1");  出现异常的情况下)

ex3:  多个catch

ex4 :1个catch

ex5: return不影响finally{ }代码块中代码的执行

ex6 :    执行 System.exit(0)   ==》 便不会再执行finally{ }代码块中代码

————————————————

版权声明:本文为CSDN博主「郑清」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/qq_38225558/article/details/82054100

【敬畏能量 敬畏自然】

java中catch ()_有关java中的try{}catch(){}的讲解相关推荐

  1. java coin介绍_代码示例中的Java 7:Project Coin

    java coin介绍 该博客通过代码示例介绍了一些新的Java 7功能,这些项目在Project Coin一词下进行了概述. Project Coin的目标是向JDK 7添加一组小的语言更改.这些更 ...

  2. java logging包_用JDK中提供的java.util.logging.*包创建Logger对象----原创

    由于项目中用到了Applet与Servlet之间(客户端用Applet.Server端用Servlet)的通信,要求: 1:>客户端与服务端必须出Log. 2:>浏览器在加载Applet时 ...

  3. java避免空指针异常_避免Java中的空指针异常

    java避免空指针异常 空指针异常是Java中最常见,最烦人的异常. 在这篇文章中,我想避免这种不希望的异常. 首先让我们创建引发空指针异常的示例 private Boolean isFinished ...

  4. java 图片 大小_在JAVA中调整图片大小

    在JAVA中,当我们调整图片的大小或比例时,我们可以按照以下的步棸: 通过调用的ImageIO类的read(File)方法 创建用于输入图片BufferedImage对象. 按所需输出高度输出的Buf ...

  5. java实现分而治之_并发编程中一种经典的分而治之的思想!!

    写在前面 在JDK中,提供了这样一种功能:它能够将复杂的逻辑拆分成一个个简单的逻辑来并行执行,待每个并行执行的逻辑执行完成后,再将各个结果进行汇总,得出最终的结果数据.有点像Hadoop中的MapRe ...

  6. java final 类_在Java中,final修饰的类有什么特点

    展开全部 关于Java中的32313133353236313431303231363533e4b893e5b19e31333264663736final(2010-09-09 14:19:48)转载▼ ...

  7. java arraylist 函数_使用Java-8中的函数ArrayList

    问题描述: 我希望能够使用从另一个类传入的函数的ArrayList(其中函数已在其他类中定义).如果在一个类中定义了可能具有不同输入和返回类型的函数列表,我希望能够将其中一些的ArrayList(可能 ...

  8. android studio插入数据表中没有_学Java能拿高薪吗 Java中常见排序算法有哪些

    学Java能拿高薪吗?Java中常见排序算法有哪些?作为老牌编程语言,Java拥有广阔的市场占有率,几乎90%以上的大中型互联网应用系统在服务端开发都会首选Java.为了加入到Java这一高薪行业,很 ...

  9. java jar 目录_将Java类路径中的所有jar包括在一个目录中

    有没有一种方法可以将所有的jar文件包含在类路径的目录中? 我正在尝试java -classpath lib / *.jar :. my.package.Program,它无法找到当然在这些罐子里的类 ...

最新文章

  1. 拒绝了我们的连接请求_职场上,我们该如何巧妙而优雅的拒绝同事忙的请求呢?...
  2. 前端性能优化——从 10 多秒到 1.05 秒
  3. 行业洞察驱动安全防御严峻安全挑战迎刃而解
  4. 10.Azure应用程序网关(上)
  5. 文档型数据库设计模式-如何存储树形数据
  6. 数组不能将数值传给int_java数组查找常见情况
  7. c语言封闭曲线分割平面_高手的平面课堂:8种常用的设计排版方式,告别通宵加班...
  8. Map封装 (一个键多个值)
  9. visio 2013安装使用
  10. #_1 Win10原版镜像安装教程 + 系统崩溃备份文件
  11. 混沌数学之Lorenz(洛伦茨)吸引子
  12. google vr 简介
  13. 计算机专业要求屏幕吗,台式电脑需要剪辑的话,显示屏是选择曲屏好还是直屏好呢?...
  14. 74HC02或非门仿真示例
  15. Asp.Net Ajax (2)---ScriptManager
  16. 文件底层I/O基本操作——东写西读南开北关中位移_莫韵乐的Linux英雄传
  17. 迎新年,心仪脑新年福利大放送
  18. liunx下关于图片、视频截图的处理
  19. 实验五 综合渗透
  20. python爬虫——bs4学习笔记

热门文章

  1. 计算机网络项目化实训教程,计算机网络项目实训教程
  2. window10内核Linux,windows 10中发布完整的Linux内核
  3. mysql 数据迁移_CentOS7迁移Mysql数据库文件
  4. 【OpenCV 例程200篇】44. 图像的灰度变换(伽马变换)
  5. 【OpenCV 例程200篇】09. 图像的裁剪(cv2.selectROI)
  6. python里面的高级特性
  7. android pdf阅读器开发_如何在 Windows 10 中将 Firefox 设置为默认 PDF 阅读器
  8. python词汇网络分析_8个Python高效数据分析的技巧!
  9. 脚本自动定时打开链接_自动化构建系统
  10. linux进程号为一,一步步探究linux进程中的用户ID