在java的一个异常处理中_Java中异常的处理

1、异常:异常是导致程序中断运行的一种指令流,如果不对异常进行正确处理,则可能导致程序的中断执行,造成不必要的损失,所以在程序的设计中必须考虑各种异常的发生,并正确的做好相应的处理,这样才能保证程序的正常运行。

2、异常的继承结构是什么?

在整个java的异常结构上,实际上有以下两个最常用的类:

Exception、Error,这两个类都是Throwable的子类。

Exception:一般表示的是程序中出现的问题,可以直接使用try...catch关键字进行处理。

Error:一般指的是JVM错误,程序中无法处理。

3、怎样捕获异常?

在这里我们要回顾一下对象的多态性,子类的实例化对象可以直接使用父类的对象进行接收。实际上在异常处理中也是使用了这个概念,因为try中产生的是一个实例化对象。如果现在有一些其他的异常不知道的话,则可以使用Exception进行捕获。

4、捕获异常的流程是怎样的呢?

Java异常处理通过5个关键字try、catch、throw、throws、finally进行管理。基本过程是用try语句块包住要监视的语句,如果在try语句块内出现异常,则异常会被抛出,代码在catch语句块中可以捕获到这个异常并做处理;还有以部分系统生成的异常在Java运行时自动抛出。你也可以通过throws关键字在方法上声明该方法要抛出异常,然后在方法内部通过throw抛出异常对象。finally语句块会在方法执行return之前执行,一般结构如下:

try{

Code...

}catch(Excption ex){

Code...

}finally{

Code...

}

catch语句可以有多个,用来匹配多个异常,匹配上多个中的一个之后,执行catch语句块时候仅仅执行匹配上的异常。catch的类型是Java语言中定义的或者程序员自己定义的,表示代码抛出异常的类型,异常的变量名表示抛出异常的对象的引用,如果catch捕获并匹配上了该异常,那么就可以直接用这个异常变量名,此时该异常变量名指向所匹配的异常,并且在catch代码块中可以直接引用。这一点非常非常的特殊和重要!

既然捕获Exception是最方便的,那么直接捕获Throwable不就行了?

这样的做法也是可以的,但是正常的开发人员不会这样做,因为在程序的try中永远只会抛出Exception的子类,而Throwable中不光有Exception还有Error存在,所以,直接捕获方法基本上不用。

说到这里大家应该都对异常有个简单的了解了,下面我们来看下异常的概念

1. 异常出现之后,如果没有合理的处理的话,则会让整个程序中断执行。

2. 使用try...catch和try...catch...finally可以处理异常,finally将作为异常的统一出口,不管是否有此异常都会执行此语句。

3. 一个异常处理中可以同时出现多个catch,但是捕获更粗的异常要放在更细的异常之后,否则程序编译时将出现错误。

4. 在异常中最大的类是Throwable,分为两个子类:Exception、Error。

5. 捕获的时候可以直接捕获Exception,但是最好分开捕获,如果所有的异常后的处理操作都是一样的话,则也可以直接捕获Exception。

6. 每当异常产生后,会在程序中产生一个异常类的实例化对象,之后使用此对象与catch中的异常类型相匹配,如果匹配成功吗,则执行catch语句中的内容,如果匹配不成功,则继续向下进行匹配,如果都无法成功,程序中出现中断执行的问题。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值