Java异常知识点!
1.异常:程序在运行时所出现的意外情况(错误)。
2.异常出现后所带来的问题? 异常处后面的代码就会无法执行了。
3.Java中如何进行异常处理。
try{
//可能发生异常的地方
}catch(异常类型 异常对象){ //java把所有的异常封装成类了
//捕获异常
}catch(异常类型 异常对象){ //java把所有的异常封装成类了
//捕获异常
}....
4.异常处理的原理。
(1).一旦发生异常,则会产生一个异常类的实例对象。
(2).如果该对象在try中包裹,则会查找相应的catch.
(3).找到相应的catch 由该catch进行异常的捕获,程序正常执行。
找不到相应的catch,则异常对象会交给JVM来处理。直接终止程序。
5.发现上面再处理异常时,需要很多个catch的问题。这些异常类名中都有Exception单词。
ArithmeticException:
NumberFormatException:
ArrayIndexOutOfBoundsException:
6.异常的根类.Throwable.
Throwable下由两个子类组成。
Error: 错误。程序员无法解决。比如内存溢出。
Exception: 异常。程序员必须解决。
7.常见的一些异常,为什么会发生这些异常!、
ArithmeticException:算术异常
NumberFormatException: 格式转化异常。把一个非数字的字符串转化为整数。
ArrayIndexOutOfBoundsException: 数字下标越界。
NullPointerException:空指针异常。一个null对象调用了属性或方法。而引起的一种异常。
ClassCastException:类转化异常。向下转型时发生。
8 finally关键字
异常处理的出口,不管有没有异常,finally语句块都会被执行。
主要运用在资源释放上。
final和finally的区别?
1、finally用于异常处理的,表示异常的一个出口主要用于释放资源。
2、final表示最终,可以修饰属性,方法,类
修饰属性表示常量
修饰方法表示该方法不可被重写
修饰类表示该类不能被继承
9 多个catch时,上面的catch类的范围小于下面catch类的范围。
10 异常处理的另一种方式,直接在方法名的后面使用throws,会抛给调用该方法的地方
11 throw:手动产生一个异常类对象并抛出。
开发时 在类中不允许出现System.out.println(" ");