异常体系介绍

1.异常是什么?
程序中可能出现的问题
2.异常体系的最上层父类是谁?异常分为几类?
父类:Exception.
异常分为两类:编译时异常、运行时异常
3.编译时异常和运行时异常的区别?
编译时异常:没有继承RuntimeExcpetion的异常,直接继承于Excpetion。
编译阶段就会错误提示
运行时异常:RuntimeException本身和子类。
编译阶段没有错误提示,运行时出现的

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

捕获异常
格式:
try {
可能出现异常的代码;}
catch(异常类名 变量名){ 异常的处理代码;}
目的:当代码出现异常时,
可以让程序继续往下执行。

自己处理(灵魂四问)
灵魂一问:如果try中没有遇到问题,怎么执行?
答:会把try里面所有的代码全部执行完毕,
不会执行catch里面的代码

灵魂二问:如果try中可能会遇到多个问题,怎么执行?
答:会写多个catch与之对应,父类异常需要写在下面


灵魂三问:如果try中遇到的问题没有被捕获,怎么执行?
答:相当于try.catch白写了,
当前异常会交给虚拟机处理

灵魂四问:如果try中遇到了问题,那么try下面的其他代码还会执行吗?
答:不会执行了。try中遇到问题,直接跳转到对应的catch
如果没有对应的catch与之匹配,则交给虚拟机处理

Throwable的成员方法

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

抛出处理
throws
注意:写在方法定义处,表示声明一个异常
告诉调用者,使用本方法可能会有哪些异常
public void 方法()throws 异常类名1, 异常类名2...(

...}
编译时异常:必须要写。
运行时异常:可以不写。

throw

注意:写在方法内,结束方法
手动抛出异常对象,交给调用者
方法中下面的代码不再执行了

public void 方法(){
throw new NullPointerException();}

总结:

1.虚拟机默认处理异常的方式
把异常信息以红色字体打印在控制台,并结束程序
2.捕获:try...catch
一般用在调用处,能让代码继续往下运行。
3.拋出:throw throws
在方法中,出现异常了。
方法就没有继续运行下去的意义了,采取抛出处理。让该方法结束运行并告诉调用者出现了问题。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值