try...catch异常处理的第二种方式以及Throwable类中3个异常处理的方法

try_catch_异常处理的第二种方式自己处理异常

try....catch:异常处理第二种方式,自己处理异常

格式:

try{
  可能产生异常的代码  
}catch(定义一个异常的变量,用来接收try中抛出的异常对象){
   异常的处理逻辑,异常对象之后,怎么处理异常对象
   一般在工作中,会把异常的信息记录到一个日志中 
}
...
catch(异常类名 变量名){
    
}

注意:

  1.try中可能会抛出多个异常对象,那么就可以使用多个catch来处理这些异常对象

  2.如果try中产生了异常,那么就会执行catch中的异常处理逻辑,执行完毕catch中的处理逻辑,继续执行try...catch之后的代码

  3.如果try中没有产生异常,那么就不会执行catch中异常的处理逻辑,执行完try中的代码,继续执行try...catch之后的代码

    public static void main(String[] args) {
        try{
            readFile("d:\\a.tx");
        } catch (Exception e) {
            System.out.println("catch -传递的文件后缀名不正确");
        }
        System.out.println("后续代码");
    }

    public static void readFile(String fileName) throws Exception {
        /*
           判断后缀名是否正确,不正确抛出异常给出对应的错误提示
         */
        if (!fileName.endsWith(".txt")){
            throw new IOException("文件的后缀名不对");
        }
        System.out.println("路径没有问题,读取文件");
    }

运行结果:(错误的)

 

 

 运行结果:(正确的)

 

 

 

 

Throwable类中3个异常处理方法

Throwable类中定义了一些查看方法:

public String getMessage():获取异常的描述信息,原因(提示给用户的时候,就提示错误原因)
public String toString():获取异常的类型和异常描述信息(不用)
public void printStackTrace():打印异常的跟踪栈信息并输出到控制台

代码实现案列:

    public static void main(String[] args) {
        try{
            readFile("d:\\a.txat");
        } catch (Exception e) {
//            System.out.println("catch -传递的文件后缀名不正确");
            /*
                Throwable类中定义了一些查看方法:
                public String getMessage():获取异常的描述信息,原因(提示给用户的时候,就提示错误原因)
                public String toString():获取异常的类型和异常描述信息(不用)
                public void printStackTrace():打印异常的跟踪栈信息并输出到控制台
             */
            System.out.println(e.getMessage());
            System.out.println(e.toString());
            e.printStackTrace();


        }
        System.out.println("后续代码");
    }

    public static void readFile(String fileName) throws Exception {
        /*
           判断后缀名是否正确,不正确抛出异常给出对应的错误提示
         */
        if (!fileName.endsWith(".txt")){
            throw new IOException("文件的后缀名不对");
        }
        System.out.println("路径没有问题,读取文件");
    }

运行结果:

 

posted @ 2022-07-08 13:46  monkey大佬  阅读(563)  评论(0)    收藏  举报