Java学习day25-异常处理
一、Java异常
1.任何一种程序设计语言设计的程序在运行时都有可能出现错误,例如除数为0,数组下标越界,要读写的文件不存在等等。
2.捕获错误最理想的是在编译期间,但有的错误只在运行时才会发生。对于这些错误,一般有两种解决办法:
①遇到错误就终止程序的运行
②由程序员在编写程序时,就考虑到错误的检测、错误消息的提示,以及错误的处理。
3.异常:在Java语言中,将程序执行中发生的不正常情况称为异常。
4.Java中的异常用于处理非正常情况,如文件没找到,网络错误,非法的参数
5.Java程序运行过程中所发生的异常事件可分为两类:
①Error:JVM系统内部错误、资源耗尽等严重情况。
②Exception:其他因编程错误或偶然的外在因素导致的一般性问题。(例如:空指针访问,试图读取不存在的文件,网络连接中断)
二、实例1,数组越界异常
package day16; public class Test { public static void main(String[] args){ String[] strs = new String[]{"a","b","c"}; for(int i = 0; i < 4; i++){//strs只有0,1,2三个元素,没有第四个元素,这个时候输出strs[3]超出了数组长度,会报异常 //java.lang.ArrayIndexOutOfBoundsException 数组越界 System.out.println(strs[i]); } } }
显示错误为:

实例2,空指针异常
package day16; public class Test { public static void main(String[] args){ // A a = new A(); A a = null;//引用变量a没有指向任何对象,指向的是null,什么都没有,自然也就没有i的值 //java.lang.NullPointerException 空指针异常 System.out.println(a.i); } } class A{ int i; }
显示错误为:

实例3,错误运算异常
package day16; public class Test { public static void main(String[] args){ int i = 0; System.out.println(3/i);//被除数不能为0 } }
显示错误为:

三、Java异常类层次

常见异常:
RuntimeException(运行时异常):错误的数据类型转换;数组下标越界;空指针访问;
IOExption(读写异常):从一个不存在的文件中读取数据;越过文件结尾继续读取EOFException;连接一个不存在的URL;

浙公网安备 33010602011771号