栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java异常知识点总结

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java异常知识点总结

Java异常知识点总结
    • 一、语法结构
    • 二、知识点总结

一、语法结构

常规语法

  • try块是必须的
  • catch块和finally块是可选的,但至少有其中一个,也可同时出现
  • 可有多个catch块,子类异常必须先于父类异常
  • catch块位于try块之后,finally块位于catch块之后
        try {

        } catch (NullPointerException e) {

        } catch (Exception e) {

        } finally {

        }

Java7增强语法

  • 自动关闭资源的try语句
		// BufferedInputStream 的父类实现了Closeable接口
		try (InputStream is = new BufferedInputStream(new FileInputStream("file"))) {
            is.read();
        }

为了保证可以正常关闭资源,这些资源必须实现AutoCloseable或者Closeable接口

  • 捕获多种异常的catch语句
		// 捕获的异常为RuntimeException,否则代码中没抛这些Checked异常编译的时候会报错
		try {

        } catch (IndexOutOfBoundsException | NullPointerException | ArithmeticException e) {

        }
二、知识点总结

Checked异常和RunTime异常
Java异常分为Checked异常和Runtime异常两大类,所有的RuntimeException类及其子类的实例被称为Runtime异常,其他的异常则被称为Checked异常;Runtime异常可处理也可忽略交给程序抛出,Checked异常如果没有处理编译将不通过,处理有两种方式:

  • 使用try-catch捕获异常
  • 在方法签名上使用throws声明抛出异常

try-catch异常捕获流程

Throwable、Error、Exception

finally块总会被执行,除非虚拟机退出

        try {
            // finally 可以执行
            return;
            // finally不能执行
            System.exit(1);
        } catch (Exception e) {

        } finally {
            System.out.println("invoked");
        }

finally块尽量不使用return或throw

使用throws声明抛出异常和使用throw抛出异常

访问异常信息常用方法

  • getMessage()
  • printStackTrace()
  • printStackTrace(PrintStream s)
  • getStackTrace()

自定义异常

  • 继承Exception类或RuntimeException类
  • 通常提供一个无参构造方法和一个带一个字符串(用来描述异常信息)的构造方法

异常链

业务层捕获数据层原始异常,重新抛出一个新的业务异常,这种处理方式称为异常转译。

public class CustomException extends RuntimeException {

    public CustomException(Throwable t) {
        super(t);
    }

    public static void main(String[] args) {
        try {
            String s = null;
            System.out.println(s.length());
        } catch (Exception e) {
            throw new CustomException(e);
        }
    }
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/424290.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号