发表于: 2020-03-07 15:21:02

1 1265


今天完成的事情:

1.异常

1.1 代码中的异常

Throwable类

    Java中所以异常的超类,在Java中所有的异常,错误的基类就是Throwable类。

Throwable

–| Exception 异常可以处理,代码还有拯救的可能性

–| Error 错误 无法拯救

Throwable常用方法:

Constructor:

    Throwable(); Throwable构造方法,Throwable类对象中,存储的异常或者错误信息为null

    Throwable(String message); Throwable构造方法,Throwable类对象中,存储的异常或者错误信息为message

Method:

    String getMessage(); 获取Throwable对象中存储的异常或者错误信息

    String toString(); 返回当前异常或者错误的简要描述

    void printStackTrace(); 展示错误的前因后果,【红色字体】

1.2 Exception和Error区别

Exception 异常,可以处置

Error 错误,不可以处置,只能避免

1.3 异常处理

1.3.1 捕获异常

try - catch 结构

try - catch - finally 结构

格式:

try {

// 有可能出现异常代码

} catch (/* 对应处理的异常对象 */) {

// 处理方式

}

捕获异常问题总结:

    1. 代码中从异常发生位置开始,之后的代码都不在运行

    2. 代码中有多个异常,可以使用多个catch块进行捕获操作,分别处理

    3. 可以展示异常情况,可以将异常情况做成log日志文件

    4. 异常被捕获之后代码可以正常运行。

1.3.2 抛出异常

throw

在方法内抛出异常

throws

在【方法声明】位置,告知调用者当前方法有哪些异常抛出

声明的异常需要生成对应的文档注释

抛出异常总结:

    1. 一个代码块内,有且只能抛出一个异常

    2. 从throw位置开始,之后的代码不在运行

    3. 代码中存在使用throw抛出异常,在方法的声明位置必须告知调用者这里有什么异常

1.3.3 抛出和捕获的对比

捕获之后,代码可以正常运行,要保证处理之后的异常不会在导致其他问题。

抛出的确可以解决很多问题,并且可以让代码健壮性很强。到用户层面不能抛出异常不能将错误信息直接甩到用户脸上。

1.3.4 不使用大异常

Exception

    不能所有的异常都使用Exception捕获或者抛出无法得知具体的异常类型,不能对症下药

1.4 RuntimeException

**运行时异常:

JVM在运行的过程中可以非检查异常

例如:

    ArrayIndexOutOfBoundException

    NullPointerException

    StringIndexOutOfBoundException

    ArithmeticException **

这些异常在代码中如果出现,不需要代码中强制进行捕获或者抛出处理。

1.5 自定义异常

代码运行的过程中存在一定的生活化

例如:

    用户名密码错误

自定义异常格式:

class 自定义异常类名 extends Exception {

// No Fields Constructor

// String Field Constructor

}

自定义异常类名:

    必须Exception结尾!!!



返回列表 返回列表
评论

    分享到