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

JAVA-从入门到自杀(第九天)1:自定义异常类、finally块

程序员文章站 2022-06-08 17:45:07
...

自定义异常类

          自定义一个类继承Exception即可

//自定义了一个自己的异常类
class MyException extends Exception{
    public MyException (String message){
    //调用了Exception一个参数的构造函数。
        super(message);  
    }
}

finally块

        使用前提:必须要存在try块才能使用。

        特点:块内代码任何情况下都会执行(除了jvm退出)。

        用途:finally块适合做资源释放工作,可以保证资源文件在任何情况下都会被释放。

//无论任何情况下,finally中的代码都会执行
public static void test(int a){
    try{
        if(a == 0){
            return;
        }
        System.out.println("a = "+ a);
	}catch(Exception e){
        System.out.println("出了异常...");
		throw e;
	}finally{
		System.out.println("finally块的代码执行了..");
	}
}

try块的组合方式

        第一种: 适用于有异常要处理,但是没有资源要释放。

                        try{
                                可能发生异常的代码
                        }catch(捕获的异常类型 变量名){
                                处理异常的代码
                        }    

        第二种:适用于有异常要处理又有资源要释放。

                       try{
                                 可能发生异常的代码
                       }catch(捕获的异常类型 变量名){
                                 处理异常的代码
                       }finally{ 
                                 释放资源的代码;
                       }

        第三种: 适用于内部抛出的是运行时异常,并有资源要被释放。

                        try{
                                 可能发生异常的代码
                        }finally{ 
                                 释放资源的代码;
                        }