廖雪峰Java 读书笔记 (二) 异常处理

2020-08-23  本文已影响0人  拜仁的月饼

1. Java的异常

继承树关系

例:

try{
    // 语句
} catch (异常){
   // 语句
}

2. 多Catch语句

可以使用多个catch语句,每个catch分别捕获对应的Exception及其子类。JVM在捕获到异常后,会从上到下匹配catch语句,匹配到某个catch后,执行catch代码块,然后不再继续匹配。存在多个catch的时候,catch的顺序非常重要:子类必须写在前面

最后可以写一个finally语句,可写可不写。finally总是最后执行

package com.Exceptions;

public class TryExp {
    public static void main(String[] args) {
        try{
            process1();
            process2();
            process3();
        } catch (IOException e){
            System.out.println(e);
        } catch (NumberFormatException e){
            System.out.println(e);
        }
    }
}

3. 抛出异常

当某个方法抛出了异常时,如果当前方法没有捕获异常,异常就会被抛到上层调用方法,直到遇到某个try ... catch被捕获为止。可以通过printStackTrace()可以打印出方法的调用栈。printStackTrace()对于调试错误非常有用,上述信息表示:NumberFormatException是在java.lang.Integer.parseInt方法中被抛出的,应从下往上看。

java.lang.NumberFormatException: null
    at java.base/java.lang.Integer.parseInt(Integer.java:614)
    at java.base/java.lang.Integer.parseInt(Integer.java:770)
    at Main.process2(Main.java:16)
    at Main.process1(Main.java:12)
    at Main.main(Main.java:5)

抛出异常的方法:

小结:

4. JDK Logging

新建JDK Logging的方法:

Logger logger = Logger.getGlobal();

使用方法:

logger.info("start process...");

七个等级:

上一篇 下一篇

猜你喜欢

热点阅读