捕获例外:

Java产生例外对象后,将去寻找能够处理此例外的方法并交之处理,这一过程成为捕获(catch)。若找不到,运行时系统将终止

抛弃例外:

一个方法若不知道如何处理出现的例外,可声明抛弃(throws)

jdk中,每个包都定义了例外类,所有的例外类都直接或间接继承于Throwable类。

java中的例外类可分为两大类:

error

exception

运行时例外

继承于RuntimeException的类都属于运行时例外,如算数(除零),数组越界等,由于例外产生的位置是未知的,java编译器允许程序员在程序         中不对它们作出处理。

非运行时例外

除运行时例外,便是非运行时例外,如FIleNotFindException(文件未找到例外),java编译器要求对这种例外必须作出处理,捕获例外或抛弃例外

例外的处理

捕获例外

通过try-catch-finally语句实现

try:try语句所限定的代码块在执行过程当中可能会产生例外对象并抛弃。

catch:每个try块可以伴随一个或多个catch语句,用于处理try块中所生成的例外事件。

catch语句只需一个形参指明它所能够捕获的例外类型,这个类必须是Throwable的子类,运行时系统通过参数值把被抛弃的例外对象传递给catch                                    块。

类Throwable提供了getMessage()方法:得到异常的相关信息,printStackTrace()用来跟踪事件发生时执行堆栈的内容。

catch语句的顺序,第一个例外捕获到后,剩下catch不再捕获。故catch安排的顺序应该为从特殊到一般。即先安排子类在安排父类。

finally:为统一的出口,无论有无例外,都会执行。

抛弃例外:

如果一个方法中生成了一个例外,但是这一方法并不确切地知道该如何处理这一异常事件。

此时,这一方法应当声明抛弃例外,使得例外对象可以从调用栈向后传播,直到有合适的方法捕获它为止。

声明抛弃:

声明抛弃例外实在一个方法声明中的throws子句中指明的。

public int read() throws IOException {

...

}

抛出例外:

抛出例外就是产生例外对象的过程。首先生成例外对象,由虚拟机或者某些类的实例生成。通过throw语句实现。

IOException e = new IOException();

throw e;

java添加例外_JAVA例外处理相关推荐

  1. java添加信息_java – 向异常添加信息

    我想向堆栈跟踪/异常添加信息. 基本上我现在有这样的东西,我真的很喜欢: Exception in thread "main" java.lang.ArithmeticExcept ...

  2. java添加坚挺_Java连载136-两种方式插入数据

    一.插入数据 对于数据的增删改查都有两种可选的操作模式,一种是直接使用SQL语句进行增删改查,另一种是通过可更新的结果集对象间接增删改查.首先创建语句对象 Statement stmt = con.c ...

  3. java 添加附件_java发送邮件(一)--补充添加附件

    今天来记录一下如何使用java来发送邮件 背景 之前项目有个需求,当产品出现故障时会把情况上送给服务器,服务器发送邮件将故障产品的位置以及故障信息等告知维修人员.发送邮件的接口不是我负责的,但是有兴趣 ...

  4. java 添加类_java如何添加类

    Java JDK的安装以及CLASSPATH设置系统变量 Java JDK的安装以及CLASSPATH设置系统变量向你介绍如何在Windows条件下进行Java JDK的安装以及CLASSPATH系统 ...

  5. java 添加等待时间_Java中线程等待特定时间的最有效方法 - java

    我知道这个问题here,但是我有一个稍微不同的问题.如果我希望自己通过各种Thread方法(而不是通过实用程序类或Quartz)手动编码某个线程在特定时间的运行,那么最有效(就开销而言)进行编码. 我 ...

  6. java添加边框_Java如何为边框添加标题?

    本示例说明如何创建带有标题的边框.有一个特殊的边界类TitledBorder可以做到这一点.我们可以定义标题的对齐方式,左对齐,居中对齐或右对齐.为此,我们调用该setTitleJustificati ...

  7. c# 添加防火墙例外端口_C#添加删除防火墙例外(程序、端口)

    一. 添加 COM 引用 在引用里,选择 COM 页, 找到 NetFwTypeLib, 确定即可 二. 添加允许通过防火墙的例外程序 using System; using System.Colle ...

  8. java添加背景图片_Java怎么添加背景图片

    首先,导入相关的包: import java.awt.BorderLayout; import java.awt.Container; import javax.swing.ImageIcon; im ...

  9. java excel 批注_Java 添加、读取和删除 Excel 批注的操作代码

    批注是一种富文本注释,常用于为指定的Excel单元格添加提示或附加信息. Free Spire.XLS for Java为开发人员免费提供了在Java应用程序中对Excel文件添加和操作批注的功能. ...

最新文章

  1. Realm 使用的简单教程
  2. python 空数组_从零开始学python之numpy
  3. php输出报错Message: Array to string conversion
  4. 青龙羊毛——闪电世界(合集篇)
  5. cv2 画多边形不填充_OpenCV python: 任意多边形填充和凸多边形填充(fillPoly和fillConvexPoly的区别,有图有真相!)...
  6. “花钱矩阵”下共享单车的出路何在?
  7. java回调如何理解_如何理解java中的回调
  8. c#中如何实现拷贝对象
  9. Kubernetes上的负载均衡详解
  10. aioserve oracle,oracle进程关不掉的问题??新手问题
  11. 麦克风阵列树莓派python_使用Python代码进行树莓派上的麦阵列声源定位
  12. 一个有用的区别IE不同浏览器CSS的标签
  13. php嗅探链接,教你怎么利用php来嗅探劫持服务器数据
  14. IP防护等级测试设备(IPX1.2.3.4.5.6.9)
  15. mvn 命令上传文件到 Maven 仓库
  16. 字符0、数字0和‘\0’的区别
  17. MFC应用程序设计(第二版)学习笔记
  18. Git 从已有分支拉出新分支
  19. Gitlab CI/CD中的yml遇到的错误分析含解决方法(全)
  20. CPU构成详细介绍以及工作原理

热门文章

  1. 又火了一本神书,看小说就能学 JavaScript?
  2. 苹果mac可引导系统镜像下载
  3. 大数据培训课程数据清洗案例实操-简单解析版
  4. 用计算机怎么求锐角三角函数值,用计算器求锐角三角函数值与由锐角三角函数值求锐角.doc...
  5. 【转自D8】女神的QQ动了,我大喜,点开后默泪了,狠狠的吸了口烟。。。
  6. 戴尔刀片服务器盘柜型号,戴尔PowerEdge 4220 42U 机架式盘柜
  7. 朝花夕拾《精通CSS》一、HTML CSS 的基础
  8. SpringBoot 项目打成 .exe 程序,实战来了,超级详细!
  9. QPST download crash内存
  10. Python的海龟绘图库turtle中tracer(False)和speed(0)的区别