java的异常机制

一:java的异常
异常指的是并不是语法错误了,而是对程序错误对出相应的回应.下图为异常的继承关系.
在这里插入图片描述
二:处理异常
在这里插入图片描述
几点重要的说明: 1.e.getMessage()获取到的是异常类的构造方法,既然是继承Exception,那么就是继承 Throwable,其中throwable有四种构造方法

* Throwable是所有Error和Exceptiong的父类
* 注意它有四个构造函数:
* Throwable()
* Throwable(String message)
* Throwable(Throwable cause)
* Throwable(String message, Throwable cause)

2.e.printStacktrace()使用第四种构造方法可在控制台说明原因.
3.既然满足继承关系,那么所有方法可以重写,满足不同的需求,增加灵活性

三:throw语句
一般的,当一个方法出现不正常的情况,我们不知道返回什么,此时就返回一个错误,在catch语句向上继续抛出异常.
return是返回一个值,throw是返回一个错误,返回给改方法的调用者.
格式:throw new 异常类.构造方法
在这里插入图片描述
四:throws语句

运用于方法声明之上,用于表示当前方法不处理异常,而是提醒该方法的调用者抛出异常.如果每一个方法都放弃处理异常,最后会抛出到main方法,如果此时main方法不处理,继续抛出给jvm,底层处理机制就是打印异常的跟踪栈信息.

五:自定义异常类

  • 自定义一个受检查的异常类:自定义类并继承于java.lang.Exception
  • 自定义一个运行时期的异常类:自定义类并继承于java.lang.RuntimeException.

六:处理异常的原则

  • 异常只能为非正常状态,try-catch影响性能
  • 需要为异常提供说明文档
  • 尽可能避免异常
  • 自定义异常尽量使用Runtime类型

七:常见异常

名字原因
ArthmeticException算术异常(分母为零)
NullPointException空指针异常
ArrayIndexOutBoundsException数组索引越界
NumberFormatException数字格式化异常
ClassCastException类型强制转化异常
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值