前言
学到异常了,本来以为处理异常只是避免bug,结果发现还可以为了编程需要自定义异常。打好基础,daydayup!
异常
什么是异常
异常就是代表程序出现的问题
异常的体系
异常体系指的是java开发人员为了方便程序员使用所开发的异常类,可以根据不同的问题来封装异常信息。
Error:代表的是系统级别错误,是sun公司自己用的,不是给程序员用的,基本不用去管。
Exception:代表异常,是开发程序时所遇到的问题,开发者运用Exception及Exception的子类来封装问题。
RuntimeException:代表运行时异常,是运行时出现的异常,编译阶段不会出现错误提醒。
其他编译时异常:编译阶段会出现错误提醒的异常
例1:运行时异常(编译时不出错,但运行时会出错,常称为bug)
例2:编译时异常(编译时提示出错)
针对编译时异常的处理
处理方法有两种:1,抛出异常(throw);2,捕获异常(try....catch)
1,抛出异常
在方法上使用throws关键字,可以将方法内部出现的异常抛出去给调用者处理
throws书写格式
方法 throws 异常1,异常2,异常3...{ }
2, 捕获异常
直接捕获程序出现的异常
(try....catch)书写格式
try{
//监视异常可能出现的代码
}catch(异常类型1 变量){
//处理变量
}catch(异常类型2 变量){
//处理变量
}...
例:
自定义异常
java没办法为所有的问题提供异常类,所以自己编程需要使用异常解决某种问题,就需要自己定义异常类
自定义异常种类
1,自定义运行时异常
自定义运行时异常特点
编译阶段不报错,运行时才会出现错误
自定义运行时异常创建
1,定义一个异常类并继承RuntimeException;
2,重写构造器;
3,在需要抛出的代码下面添加throw new 异常类(XXX)
例:如下
2,自定义编译时异常
自定义编译时异常特点
编译阶段报错,提醒强烈
自定义编译时异常创建
1,定义一个异常类继承Exception;
2,重写构造器;
3,在需要抛出的代码下面添加throw new 异常类(XXX)
例:如下
日常开发如何处理日常
有两种方法:1,捕获异常,记录异常并响应合适的信息给用户;2,捕获异常,尝试重新修复
方法1:捕获异常,记录异常并响应合适的信息给用户
抛出Exception,使用(try...catch)打印异常信息记录
例:如下
方法2: 捕获异常,尝试重新修复
使用(try...catch)捕获异常,随后加入循环,直到输入正确后停止循环
例:如下
总结
异常不仅仅是出错的bug,也有可能是我们所需要的一种状态,要多加练习才好。整理结束,撒花!!