Java异常处理的一些常见问题

错误分三类
 * :编译错误    编译阶段排除
 * 、逻辑错误  人的想法与机器的运行结果不一致
 * 运行时错误。程序运行中出现的不可能执行的操作
 * 
 * 异常有三种
 *1.是JAVA虚拟机产生,不可控
 *2.是标准异常类,由java系统预先定义好的,需用户自己解决
 *3.由用户自定义的异常,使用   throws new+ErrorException
 *
 *抛出(throw)异常:1.程序在运行过程中出现了运行错误,2.产生的异常与系统中预定义某个异常类相对应,3.系统就自动产生一个该异常类的对象,
 *if(程序有处理异常的代码){
 *     异常对象交由该代码处理,终止程序的运行。
 *  }
 *if(程序有处理异常的代码){
 * 异常交给Java运行系统默认的异常处理代码进行处理,终止程序的运行。
 * }
 *异常方式抛出:异常发生————>检查有无捕获异常代码————>有      直接处理
 *  无————>抛给方法调用处————>检查有无捕获异常代码————>有      直接处理
 *                                           无————>抛给方法调用处(直至main主方法处调用系统处理)
 */
public class Demo {


public static void main(String[] args)  throws ArrayIndexOutOfBoundsException {//利用throws语句 ,在方法头写出需要抛出的异常
try{//抛出与捕获
int a=2,b=0,c[]={1,2,3};
if(b==0) 
         throw new  ArithmeticException (); //利用throw语句   在方法体内抛出异常
System.out.println(c[a+2]);
System.out.println(a/b);

}catch(ArrayIndexOutOfBoundsException e){
System.out.println("异常错误是越位"+e);//e.getMessage可以直接得到结果
}finally{//不论异常是否发生,都必须执行这段代码
System.out.println("必须打印");
}


}


}

你可能感兴趣的:(Java异常处理的一些常见问题)