什么是异常
异常通俗的来说就是程序执行过程中遇到的错误。
异常分类
异常分为两大类:异常和错误。
异常(Exception):合理出现的错误我们可以捕获到,也就是说我们可以解决掉的问题,比如空指针异常。
错误(Error):不可以预料的,比如内存溢出,我们解决的办法只能是增加内存。
异常处理
JVM有一种默认的异常处理方式:在控制台上打印异常信息,并终止程序。
看控制台输出的内容,打印了异常信息,/ by zero 表示除数为零 异常。
如果不想使用系统默认的异常处理方式,也可以自己设置异常处理,分为两种:捕获(catch)和抛出(throws)。
1.捕获:自己进行处理。
使用方法:
try{
// 可能出现异常的代码
}catch(Exception e){
// 出现异常后的解决方法
}finally{
// 一定会执行的代码,遇到return也会执行,不过finally这块内容可以省略不写。
}
2.抛出:调用者进行处理。
使用方法:
public void 方法名() throws Exception{
// 即在方法参数列表后加上 throws Exception 即可,若出现异常,则让调用它的对象进行处理
}
看代码,在主函数中创建了Sun类的对象sun,但是调用show方法时程序报错,这我得给你解释一下,因为show方法设置的异常处理方式是抛出,那么它的调用者就必须来处理这个异常,如果不处理,就会报错,处理的方式也是两种,即捕获和抛出。上面已经演示了捕获,那么我就给你演示继续抛出。
在调用它的函数后面也加上 throws Exception就完成了继续向上抛出异常。