欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Java中的try,catch,throw,throws,finally与异常类

程序员文章站 2022-03-07 22:40:07
...

以一个数组的索引越界抛出异常并处理它为例

package Demo3;

import java.io.IOException;

public class throwDemo1 {
    public static void main(String[] args) {
        try {//可能发生异常的代码块
            int[] arr = {2, 3, 4, 5};
            int index = 4;
            int element = getElement(arr, index);

            System.out.println(element);
        }catch (ArrayIndexOutOfBoundsException e){//捕捉异常并处理,接收了来自代码块中返回的异常,然后执行以下代码块
            //e.printStackTrace();
            System.out.println("数组越界!");
//          System.out.println(e.getMessage());//Index 4 out of bounds for length 4
//          System.out.println(e);//java.lang.ArrayIndexOutOfBoundsException: Index 4 out of bounds for length 4
        }catch (IOException ioException){
            System.out.println("文件读写异常");
        }finally {//无论异常是否发生,里面的代码都需要执行
            System.out.println("关闭打开的一些物理资源(磁盘文件/网络连接/数据库连接等)");
        }
    }

    private static int getElement(int[] arr, int index) throws ArrayIndexOutOfBoundsException,IOException {//判断该类可能会发生该异常,抛出给上层调用函数捕捉,相当于return异常
        if(index<0||index>arr.length){
            throw new ArrayIndexOutOfBoundsException("数组索引越界!");//符合该条件一定抛出该异常
        }
        int element = arr[index];
        return element;
    }
}

相关标签: 笔记 java