JAVA基础——异常详解

一、异常简介

异常就是程序中可能出现的问题

1.Java中的所有不正常类都继承于Throwable类。Throwable主要包括两个大类,一个是Error类,另一个是Exception类;

2..Exception类,也就是通常所说的“异常”。主要指编码、环境、用户操作输入出现问题,Exception主要包括两大类,运行时异常(RuntimeException)和编译时异常(其他的一些异常)

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

二、异常的两个作用:

1.查询bug的关键参考信息

2.作为方法内部特殊的返回值,通知调用者底层的调用情况

三、异常的处理方案:

1.JVM默认的处理方式  (把异常的信息打印在控制台,程序直接停止,下面的代码不会运行)

2.自己处理(捕获异常)

3.抛出异常(交给调用者)

四、捕获异常的四个问题:

1.如果try中没有遇到问题,怎么执行?

会把try中的代码执行完毕,不会执行catch里面的代码

注意:只有当出现了异常才会执行catch里面的代码

2.如果try中遇到多个问题,怎么执行?

多写几个catch与之对应

细节:如果我们要捕获多个异常,这些异常如果存在父子关系的话,那么父类一定要写到最下面

3.如果try中的问题没有被捕获,怎么执行?

下面的代码就不会执行了,直接跳转到对应的catch当中,执行catch里面的语句,但是如果没有对应的语句,就会交给虚拟机处理

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

不会执行,try中遇到问题,直接跳转到对应的catch,如果没有对应的catch与之匹配,则交给虚拟机处理

五、异常中的常见方法:

/* 1.public String getMessage()     返回此throwable的详细消息字符串
   2.public String toString()       返回此可抛出的简短描述
   3.public void printstacktrace    把异常的错误信息输出在控制台
   细节:printstacktrace仅仅只是打印信息,不会停止程序运行*/

六、自定义异常:

1.定义异常类  (见名知意)

2.写继承关系(编译时异常继承Exception)

3.空参构造    (alt+insert,选择constructors,只需要选中前面两个,一个空参,一个带错误信息的带参构造)

4.带参构造

在方法内部直接throw new 自定义异常("报错信息");

  • 18
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值