【JavaSE】异常

目录

一、概念

二、异常的体系结构

三、异常的处理

1、抛出异常

2、异常的处理 

1.throws声明异常

 2.try catch

3、异常的处理流程

四、自定义异常

1、自定义运行时异常

2、自定义编译时异常


一、概念

异常就是在程序执行过程中发送的不正常的行为

二、异常的体系结构

在顶层是一个Throwable类,然后有两个子类继承了他,分别是:Error类和EXception类

异常又分为受查异常和非受查异常,又叫编译时异常与运行时异常,顾名思义,编译时异常(受查)就是编译时的异常,运行时异常(非受查)也就是在程序运行时的异常

三、异常的处理

1、抛出异常

通过throw new 一个异常类,就可以在控制台抛出一个异常

 

1.抛出的异常必须是Exception类或者他的子类对象

2.如果抛出的是运行时异常则可以不用处理,直接交给jvm处理

3.如果抛出的是编译时异常则必须处理如果不处理编译不能通过

4.异常一旦抛出后续代码将不再执行

2、异常的处理 

当出现异常时有以下的处理方式

1.throws声明异常

1.throws声明异常必须在方法后面

 

这是一个编译时异常,我们处理他时可以通过声明这个异常来处理

2.声明的异常必须是Exception类或者子类

3.方法内部如果出现多个异常,throws之后必须跟多个异常类型,之间用逗号隔开,如果抛出的异常具有父子类关系,直接声明父类就可以

3.调用声明抛出异常的方法时,必须对该异常进行处理,或者继续使用throws声明

 

处理之后就不会报错

 

 2.try catch

try(需要申请资源的代码){

可能会存在异常的代码

}catch(可能会存在的异常类型 e){

对异常处理的代码

}finally{

不管异常有没有都会执行的代码

}

try后括号可以不同写

3、异常的处理流程

先执行try里面的代码,如果try里面的代码出现异常,则执行catch里的异常类型是否与try里的异常类型匹配 ,如果匹配就会执行catch里面的代码,如果没有匹配类型,就会向上传递到上层调用者。无论是否匹配异常类型finally里的代码都会执行(在方法结束前执行),要是上层调用者也没有处理异常就交给main如果也没有处理就交给JVM处理,此时程序终止

四、自定义异常

1、自定义运行时异常

自己定义的类继承RuntimeException类,然后重新写构造方法即可

2、自定义编译时异常

自己定义的类继承Exception类后重写构造方法 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

1886i

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值