异常

异常

概述

就是出现了不正常的情况

异常结构

在这里插入图片描述

JVM的默认处理方案

如果程序出现问题,我们没有做任何处理,最终JVM会做默认的处理:

  • 把异常的名称、异常原因及异常出现的位置等信息输出在控制台
  • 程序停止执行

异常处理

try…catch…

格式:
try {
//可能出现异常的代码;
} catch(异常类名 变量名) {
//异常处理代码;
}

执行流程:
程序从try里面的代码开始执行
出现异常,会自动生成一个异常类对象,该异常对象将被提交给Java运行时系统
当Java运行时系统接收到异常对象时,会到catch中去找匹配的异常类,找到后进行异常的处理
执行完毕后,程序还可以继续往下执行

try…catch…finally

try {
//可能出现异常的代码;
} catch(异常类名1 变量名1) {
//异常处理代码;
} catch(异常类名2 变量名2) {
//异常处理代码;
}…
finally {
//异常处理出口(无论是否发生异常,finally必然执行)
}

Throwable

成员方法

方法名说明
public String getMessage()返回此throwable的详细消息字符串
public String toString()返回此可抛出的简短描述
public void printStackTrace()把异常的错误信息输出在控制台

throws

异常是否抛出

如果是参数导致异常,应该通过throws将异常抛出

格式

返回值 方法名()throws 异常类名{}

注意

这个格式是跟在方法的括号后面的

  • 编译时异常必须要进行处理,两种处理方案:try…catch…或者throws,如果采用throws这种方案,将来谁调用谁处理
  • 运行时异常可以不处理,出现问题后,需要我们回来修改代码

自定义异常

格式

public class 异常类名 extends Exception {
无参构造
带参构造
}

不同异常类型的自定义异常

  • 编写一个类,继承Exception,并重写一参构造方法,即可完成自定义受检异常
    -编 写一个类,继承RuntimeException,并重写一参构造方法,即可完成自定义运行时异常

throws与throw的区别

throwsthrow
用在方法声明后面,跟的是异常类名用在方法体内,跟的是异常对象名
表示抛出异常,由该方法的调用者来处理表示抛出异常,由方法体内的语句处理
表示出现异常的一种可能性,并不一定会发生这些异常执行throw一定抛出了某种异常
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值