异常概念
指再程序中,出现的非正常的情况,最终导致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.NullPointerException
at com.Good.B.test(A_Exception_throws.java:21)
at com.Good.A_Exception_throws.main(A_Exception_throws.java:9)