认识异常(Throwable)
异常代表程序中的问题。
如断网了,文件不存在了
分类
Error
系统的问题,不管
Exception
要管。
RuntimeException
运行时异常(编译不异常),如数组越界
数组越界时的代码报错,ArrayIndexOutOfBoundsException
public class ArrayIndexOutOfBoundsException extends IndexOutOfBoundsException
public class IndexOutOfBoundsException extends RuntimeException
数字操作异常
空指针异常
其他异常(编译时异常)
别人担心你代码出问题
提醒你注意,写代码时就会有
示例1
解决1:抛出
也可以直接抛出exception,代表所有异常
一类一类往上抛出,实际操作中按住alt加回车
alt键加回车选第二个,解决方法是checkit
try catch
show2中为示例代码
出现异常会被拦截。
也可以直接catch Exception,代表catch所有异常。(个人理解:有点父类的·感觉)
示例2
担心D盘没有这个文件
作用
定位程序bug的关键信息
作为方法内部的一种特殊返回值,以便调用上层者,方法的执行问题。
替代return
自定义异常
如果企业自己的某种问题,想通过异常来表示。
编译时异常
只要接收到这个就抛出
把它向上抛
运行时异常
快捷键:选中之后ctrl alt+t键,可以选try ,catch包围。
开发中一般使用运行时异常
处理方案
层层抛出
底层异常层层向外抛出,最外层捕获,记录异常信息,响应适合用户的信息观看。