异常处理

异常处理

1.什么是异常?(重点)
异常是在程序中导致中断运行的一种指令流。
2.常见的异常及其含义。(熟悉)

异常指的是Exception ,Exception类,在Java中存在一个父类Throwable(可能的抛出)。

Throwable 存在两个子类:

1:Error:表示错误,是JVM发出的错误操作,无法用代码处理。比如:内存过小和内存溢出。

  1. Exception : 表示所有程序中的错误,一般在程序中进行try-catch的处理。

异常中分非受检异常(如:RuntimeException)与 受检异常 (如:IOException)。

受检异常:代码写出来就飘红。

非受检异常:在运行中才有可能出错。

想对异常进行处理,则必须采用标准的格式,处理格式语法如下:

try{

  // 有可能发生异常的代码段

}catch(异常类型1  对象名1){

 //异常的处理操作

}...

finally{

  //异常的统一出口

}
try + catch 的处理流程

1、一点产生异常,系统会产生一个异常类的实例化对象。

2.此时如果异常发生在try语句,则自动找到匹配的catch语句执行,如果没有在try语句中,则会将异常抛出。

3.所有catch根据方法的参数匹配异常类的实例化,如果匹配成功,则表示由此catch进行处理。

一、发生了异常(JVM根据异常的情况,创建了一个异常对象,包含了异常对象)

二、main未处理,自动将异常抛给了main的调用者JVM

三、JVM 对异常信息进行了响应(将异常信息显示到控制台,中断处理)

finally

在进行异常的处理之后,在异常的处理格式中有一个finally 语句,那么此语句将作为异常的统一出口,不管是否产生了异常,最终都要执行此代码。

多异常捕获的注意点:

​ 1.捕获更粗的异常不能放在更细的异常之前。

​ 2.如果为了方便,则可以将所有的异常都使用Exception进行捕获。

特殊的多异常捕获方法:

catch(异常类型1 | 异常类型2 对象名){

//表示此块用于处理异常类型1 和异常类型2 的异常信息

}

throws 关键字

此关键字在方法的声明上用,表示方法中不处理异常,而交给调用处处理。

格式:

​ 返回值 方法名称() throws Exception{

}

throw关键字

表示在程序中认为的抛出一个异常,从异常处理机制来看,所有的异常一旦产生后,实际上抛出的是一个异常类的实例化对象,那么此对象可以由throw直接抛出。

代码: throw new Exception(“抛着玩的”);

RuntimeException 与 Exception 的区别

注意观察如下方法的源码:

Integer类: public static int parseInt(String text) throws NumberFormatException

此方法抛出来异常,但是使用时却不需要进行try …catch捕获,因为NumberFormatException并不是Exception 的直接子类,而是RuntimeException的子类,只要是RuntimeException的子类,则程序在操作时不必使用try…catch进行处理,如果有异常发生,则由JVM处理,也可以通过try …catch 处理。

注意:

异常是否抛出去,应该站在哪个角度思考?
 如果是因为传参导致异常,应该通过throws 将异常抛出去
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值