Java 异常

Java 异常(exception)

1.概念:Java 异常指Java在运行过程中出现错误。
2.分类:编译异常和运行异常

编译时异常

在编译时报错,运行时通不过(暗示)。

运行时异常

在编译时不会报错,在程序运行过程中会终止程序执行
且将错误信息显示在控制台上。

异常处理方式

1.JVM异常处理方式(默认) 指:自己无法处理,交给JVM (当出现异常时,会终止程序运行,也就是出现异常之后的代码都不会执行)。
2.自己处理异常方式指:自己处理,然后继续运行

JVM异常处理方式(默认)

JVM会将异常信息、异常名称、异常出现位置输出到控制台上

自己处理异常方式

1.try……catch
2.throws

1.try……catch

分为
(1)try……catch 处理一个异常
(2)try……catch 处理多个异常

格式
try{
可能出现异常语句
}catch(异常类型 变量){
写异常提示
}

try……catch处理一个异常:

在这里插入图片描述
注意点:只有在try{ }中出现异常时,才会执行catch中内容

try……catch 处理多个异常:

在这里插入图片描述

处理多个运行异常通用格式:

方法一:
在这里插入图片描述
方法二:
在这里插入图片描述

2.throws:

抛出异常(抛出运行时异常和抛出编译时异常)

抛出运行时异常:

在这里插入图片描述

抛出编译时异常:

1.有人处理:
在这里插入图片描述
2.不处理:继续往上抛(最终抛给方法的调用者)
在这里插入图片描述

获取异常信息3种方式:

1.错在哪(出现异常原因):
在这里插入图片描述
2.错在哪+异常类型
在这里插入图片描述
3.错在哪+异常类型+异常位置
在这里插入图片描述
显示结果:第8行出错了
在这里插入图片描述

throws和throw区别:

throw定义在方法体内,后面跟对象且throw只能抛出一个异常对象

在这里插入图片描述

throws定义在方法声明后,后面可能多个异常类型名称 中间使用,分隔

在这里插入图片描述

finally:

一般情况下只要执行了try,finally就会被执行

在这里插入图片描述

特例:执行了try,但finally没有执行

在这里插入图片描述

若用return提前终止方法,finally还会被执行吗?

答案是:return 终止方法执行 ,在终止方法执行前会执行finally。
在这里插入图片描述

finally返回值问题:

注意点:try ……catch 要么都写返回值,要么都不写返回值。
在这里插入图片描述

最终返回结果:看return

自定义异常:

思路:
1.定义一个类继承异常
2.抛出一个自定义异常的类名

自定义运行时异常:

RuntimeException 是所有运行时异常父类
在这里插入图片描述

自定义编译时异常:

Exception 是所有编译时异常父类
方法一:
在这里插入图片描述
方法二:
在这里插入图片描述

自定义一个抛出带参数的异常:

在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值