• 异常


    Java异常是一个对象,所有异常都直接或间接的继承Throwable类,异常层次结构如图:

    Error类代表错误,指程序无法恢复的异常情况,常见的Error类例如内存溢出StackOverflowError等。

    Exception类代表异常,指程序有可能恢复的异常情况,分为RuntimeException和checkedException两种。

    checkedException可检查异常,需要在编码时进行处理的,如IOException等。

    RuntimeException运行时异常,是在程序运行时发生的异常,无法预先捕捉处理。

    异常经常通过try catch语句块来进行处理,也可以通过throws/throw将错误抛出到上层处理

    finally用在catch语句块后面,无论是否发生异常,finally代码块总会被执行

    在jdk7之后,提供了语法糖,更优雅的解决方式 try-with-resource

    try (FileInputStream inputStream = new FileInputStream(new File("test"))) {
        System.out.println(inputStream.read());
    } catch (IOException e) {
        throw new RuntimeException(e.getMessage(), e);
    }
    

     对代码反编译发现仍使用了finally进行处理

    可以通过继承已有的Exception类来自定义异常,通常使用try catch捕获处理,如果需要向外抛出,可继承RuntimeException类

    spring中可以通过注解@ControllerAdvice,@ExceptionHandler(Exception.class)来自定义异常处理

  • 相关阅读:
    C#与C++中struct和class的小结
    C#中string的小结
    树的一些操作——遍历,前序和中序建立后续
    一个快速、高效的Levenshtein算法实现——代码实现
    整数拆分
    阶乘结果中0的个数
    普莱菲尔密码矩阵生成算法
    CTF密码学总结
    盲文对照表
    实验吧-古典密码
  • 原文地址:https://www.cnblogs.com/jhin-wxy/p/11494717.html
Copyright © 2020-2023  润新知