# 异常概述

异常:程序出错了

# 异常的分类

  1. 编译时异常:受检异常
  2. 运行时异常:非受检异常

# 异常体系

  1. Error:严重问题,不需要处理
  2. Exception:异常类,程序本身可以处理
    1. RuntimeException:编译器不检查,犯错后再改
    2. 非 RuntimeException:编译期需要修改,不改过不了编译

# JVM 的默认处理方法

  1. 把异常信息名称,原因,位置输出在控制台
  2. 程序停止运行

# 异常处理

# try...catch...finally...

try {
    // 异常代码
} catch (/* 异常类名 变量名 */) {
    // 异常处理代码
} finally {
    // 执行清除操作 无论如何 finally 里面的代码都会执行
}

# throws

方法 throws 异常名;

延迟处理异常:把异常抛出去,用的时候再处理

# Throwable 成员方法

# getMessage()

返回 throwable 的详细信息字符串(简短)

// 定义
public String getMessage();
// 使用
System.out.println(e.getMessage());

# toString()

返回可抛出的简短描述

// 定义
public String toString();
// 使用
System.out.println(e.toString());

# printStackTrace()

把错误信息输出再控制台(完整)

// 定义
public void printStackTrace();
// 使用
e.printStackTrace();

# 自定义异常

public class ExceptionName extends Exception {
    // 无参构造
    public ExceptionName () {}
    // 带参构造
    public ExceptionName (String message) {
        super(message);
    }
}

throw:手动抛出自定义异常对象

更新于 阅读次数

请我喝[茶]~( ̄▽ ̄)~*

Baozi 微信支付

微信支付

Baozi 支付宝

支付宝

Baozi 微信

微信