异常01
异常:程序在运行中出现的不期而至的各种状况,如:文件找不到,网络连接失败,非法参数等,它出现在程序运行期间,影响了正常程序执行流程。
检查性异常:最具代表性的检查性异常是用户错误或问题引起的异常,这是程序员无法预见的。例如要打开一个不存在的文件时,一个异常就发生了,这些异常在编译时不能被简单地忽略。
运行时异常:运行异常时可能被程序员避免的异常,于检查性异常相反,运行时异常可以在编译时被忽略。
错误:错误不是异常,而是脱离程序员控制的问题。错误在代码中常被忽略,例如:当栈溢出时,一个错误就发生了,他们在编译时也检查不出来。
对策
异常处理框架:
java把异常当作对象来处理,并定义了一个基类,java.lang.Throwable作为所有异常的超类.
javaAPI中已经定义了许多的异常类,这些异常类分为两大类,错误Error和异常Exception.
RuntimeException(运行时异常):
ArrayIndexOutOfBoundsException(数组下标越界)
NullPointerException(空指针异常)
ArithmeticException(算术异常)
MissingResourseException(丢失资源)
ClassNotFoundException(找不到类)
这些异常时不检查异常,程序中可以选择捕获处理,也可以不处理.
package exception;
public class Demo01 {
public static void main(String[] args) {
new Demo01().a();
}
public void a(){
b();
}
public void b(){
a();
}
}//
//Exception in thread "main" java.lang.StackOverflowError
//栈溢出异常