在我们日常编程过程中,异常伴随我们终身,常见的异常分为受检性异常(一般异常)和非受检性异常。受检性异常指的是编译时期出现异常,非受检性异常顾名思义,编译通过,但是运行时期出现异常。Java基础要求我们首先学会看识别异常,以下举例几种常见的异常:①空指针异常:NullPointerException②数组索引越界异常:ArrayIndexOutOfBoundsException③:类转换异常:ClassCastException等等。编译时期出现的异常
异常类型:异常提示说明
at 异常位置
at java.utils.Scanner(Demo04.java:17)
at java.utils.Scanner(Demo04.java:18)
at com.qf.ran.exception.Demo04.main(Demo04.java:17)
at com.qf.ran.exception.Demo04.method(Demo04.java:24)
一般at后面紧跟错误的异常,出现异常的代码行数,双击便能查看。
在日常项目的编程过程中,空指针是出现的常见问题之一。当你花费大量时间完成一个项目时,却被一两个异常影响下面的代码,因此便需要引用try catch方法。废话少说,直接上才艺:
try{
可能会出现异常的代码
}catch(异常类型 e){
异常处理方式
}
try块中放的是可能会出现异常的代码,catch块是处理异常的代码,当try块中的代码出现异常,try块则结束,但不影响后续程序的执行。
声明异常类型throws用的较少,含义是当程序出现异常时,会中止当前方法。用法环境:不知道该如何处理当前异常的时候使用,需要统一处理的时候。
//自定义异常:统一处理异常
抛出异常对象(throw),会使程序中止
public class Demo04{
public static void main(String[] args){
try{
String str = null;
System.out.println(str.equals(""));
System.out.println("try即将结束");
}catch(NullPointerException e){
//抛出异常对象
throw new MyException("Demo04 第13行的 str 可能出现 null ");
}
System.out.println("程序即将结束");
}
}