Skip to content

异常

一、异常概述

异常:程序出错了

1、异常的分类

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

2、异常体系:Throwable

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

3、JVM的默认处理方法

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

二、异常处理

1、try...catch...finally...

java
try{
	可能异常的代码;
} catch(异常类名 变量名) {
    异常的处理代码;
} finally {
    执行清除操作;
}

执行完毕后,程序还能继续运行

无论如何,都会执行finally里的操作

2、throws

java
方法 throws 异常名;

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

三、Throwable的成员方法

1. getMessage()

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

java
//定义
public String getMessage()
//使用
sout(e.getMessage());

2. toString()

返回可抛出的简短描述

java
//定义
public String toString()
//使用
sout(e.toString());

3. printStackTrace()

把错误信息输出在控制台(最完全)

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

四、自定义异常

java
public class 异常类名 extends Exception {
  无参构造
  带参构造(String message){
      super(message);
  }
}

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

Released under the MIT License.