异常
Throwable所有异常的超类
Error,严重问题不处理
Exception,异常类,程序本身可以处理RuntimeException,运行时异常,在编译器不处理,出现问题了,回来修改代码
非RuntimeException,编译时异常,编译器就必须处理,否则程序不能通过编译
JVM的异常默认处理方案
在控制台会输出程序异常的名称、原因、位置
两种异常处理方式 try catch、throws
1、try catch
格式
try{
可能出现异常的代码}
catch(异常类 对象名){
处理异常类的动作代码;
}
处理方法:当try里的程序运行时遇到异常,与catch中的异常类相同时,系统按catch处理完,可以继续执行;
2、throws
格式:
异常位置+throws 异常类名;
处理方法:对编译时异常,可以暂时不处理,后期会使用到函数的时候再处理,不能跳过执行;
Throwable
throwable是所有异常的超类,这里的成员方法所有的异常类都可以使用
其中printStackTrack()的成员方法输出的异常信息是最全的,一般直接调用这个方法;
自定义异常
创建一个类 继承 Exception,就可以创建一个自定义的异常类
在程序中出现设定的异常情况时,在方法体声明后面用throws+异常类名,在方法体内用throw抛出异常对象;
代码举例
public void checkScore(int score) throws ScoreException(){
if(score<0 || score>100){
throw new scoreException();
}else
{
System.out.println("分数正常");
}
}