【Java】异常

异常

在这里插入图片描述

  • Error:代表的系统级别错误(属于严重问题)
  • Exception:叫做异常,代表程序可能出现的问题。我们通常会用Exception以及他的子类来封装程序出现的问题
  • 运行时异常:RuntimeException及其子类,编译阶段不会出现异常提醒。运行时出现的异常(如:数组索引越界异常)
  • 编译时异常:编译阶段就会出现异常提醒的(如:日期解析异常)

编译时异常和运行时异常的区别?

  • 编译时异常:没有继承RuntimeException的异常,直接继承于Exception
  • 运行时异常:RuntimeException本身和子类。编译阶段没有错误提示,运行时出现的

异常的作用

  1. 异常是用来查询bug的关键参考信息
  2. 异常可以作为方法内部的一种特殊返回值,用于通知调用者底层的执行情况

异常的处理方式

1)JVM默认的处理方式

  1. 把异常的名称,异常原因及异常出现的位置等信息输出在了控制台
  2. 程序停止执行,异常下面的代码不会再执行了

2)自己处理

try{
	可能出现异常的代码;
}catch(异常类名 变量名){
	异常的处理代码;
}finally { //不管什么情况都会执行,包括try catch 里面用了return ,可以理解为只要执行了try或者catch,就一定会执行 finally }

如果try中可能会遇到多个问题,怎么执行?

写多个catch与之对应,父类异常需要写在下面(写在上面,那么他的子类在下面永远无法catch到)

如果try中遇到了问题,那么try下面的其他代码还会执行吗?

不会执行

异常方法

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

这里的**printStackTrace()** 打印消息,不会停止程序

自定义异常

  1. 定义异常类
  2. 写继承关系(写出继承于哪个异常类)
  3. 空参构造
  4. 带参构造

先throws异常,才可以throw出异常

throw new AgeException(异常信息);

📘 throw new AgeException(异常信息); 在抛出方法的时候可以给出异常信息,会一并输出

  • 8
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值