什么是异常
为了能够及时有效的处理程序中的异常,Java专门引用了异常类。
异常的分类
编译异常
例如,如下的代码,看起来是没有问题的(运行异常)
然后我们经过测试是没有什么问题的
但是我们再一次测试,就会报错,因为我们没有考虑0作为整数的时候,被除
所以这个代码表面上看起来是没有问题的,实际上是有Bug的
这里有问题,我们后续的其他代码就不能运行了
(是类不是包)
例如2
我们在这段代码中没有考虑用户输入不规范
(是类不是包)
例如3
我们都知道数组的下表是从0开始的,这里我们写数组下标从-1开始的,看起来是没有错误的
但是运行出来时有错误的,
报错说数组下标越界,数组下标越界又是一个类,是我们Java当中的类
空指针异常
我们创建一个学生类
创建一个空对象,然后调用我们的方法,表面是没有任何问题的,但是运行就会报错空指针运行
异常的处理
例如
然后选择可能出现问题的代码,点击右键,选择Surround with
然后选择第一个
程序没有问题执行的是try里面的
我们改一下
try catch finally 都不可以单独用
try 和catch/finally都可以用
例如
那个错误在try中最前面,哪一个的错误就会显示出来,其余错误不显示