1、什么是异常,java提供异常处理机制有什么用?
什么是异常:程序执行过程中的不正常情况。
处理异常的作用:增强程序的健壮性。
就比如说这是一个许多人都会忽视的条件,如果不完善或添加这个条件导致程序将无法运行。而异常就属于这种情况。
public class Test{
public static void main(String[] args){
int a = 1;
int b = 0;
int c = a/b;
System.out.prinln(c + " =" + a + "+" + b);
}
}
此时因为b=0,所以c不存在程序不能正常运行,就会报异常让人注意到这个分母不能为零的条件。让程序更加完善。
注意:在java中异常是一个类,而类能有对象
2、异常的分类
(1)异常分为编译时异常和运行时异常。
(2)所有异常都是在运行阶段发生的。因为只有程序运行阶段才可以new对象。
(3)因为异常的发生就是new异常的对象。
RuntimeException以及其子类皆为运行时异常,此外全部都是编译时异常。
3、异常的解决方法
1、上抛:暨throw上报给调用者(可以理解为甩锅)。
public class TestExceoption{
public static void main(String[] args) throw ....Exception{
System.out.println(上报!);
}
}
2、捕获,处理(自己处理不用上报)。
try{
异常出现的方法}
catch(方法名 e){
e.printStackTrace;
}
4、finally语句
在finally子句中的代码是最后执行的,并且是 一定会执行 的,即使try语句块中的代码出现了异常。
finally子句必须和try一起出现,不能单独编写。
5、运行顺序
1、先执行try
2、再执行finally
3、最后执行 return (return语句只要执行方法必然结束。)
因为代码必然是顺序运行的,finally是必须执行的,而return执行代表着结束。
6、自定义异常
第一步:编写一个类继承 Exception 或者 RuntimeException.
第二步:提供两个 构造方法,一个无参数的,一个带有String参数的。
注意:其调用的是父类的toString方法,来调出异常信息。