当前位置: 代码迷 >> 综合 >> java异常详解
  详细解决方案

java异常详解

热度:19   发布时间:2024-02-21 22:10:03.0

异常概念

指再程序中,出现的非正常的情况,最终导致JVM的非正常停止。

异常的处理:

javaj异常处理的五个关键字:try,catch,finally,throw,throws

捕获异常 try-catch:

package com.Good;
//异常
//try catch 是为防止程序可能的异常
//在捕获异常的代码块中(try()如果前面的代码有异常就不会执行后面的,)
public class A_Exception {public static void main(String[] args) {int i=0;try{//用try{}来括住一段可能出现异常的代码段System.out.println(1);System.out.println(3/i);System.out.println(2);}catch(Exception e){//当不知道捕获时什么类型的异常时,可以直接使用所有异常的父类Exception
//			e.printStackTrace();
//			System.out.println(e.getMessage());System.out.println(3);}finally{//可以写,也可以不写,它是捕获异常体系中最终一定会执行的部分,io操作,jdbc会接触System.out.println(4);}System.out.println("ok");}}

运行结果:

1
3
4
ok

抛出异常 throws:

package com.Good;
//抛出异常throws
//注意:在继承中,子类的0方法不能抛出比父类方法更广的异常
public class A_Exception_throws {public static void main(String[] args) {//mian方法不建议抛出B b=new B();try{b.test();}catch(Exception e){System.out.println("抛到这里");e.printStackTrace();}}
}
class B{int i;public void test() throws Exception{B b=null;System.out.println(b.i);}
}

运行结果:

抛到这里
java.lang.NullPointerExceptionat com.Good.B.test(A_Exception_throws.java:21)at com.Good.A_Exception_throws.main(A_Exception_throws.java:9)