Java基础(七)—— 异常
本文最后更新于:2021年9月28日 晚上
概览:Java异常
Java异常
Java异常
受检异常
- 所有继承自Exception的异常称为受检异常
- 必须在方法签名上声明
- 调用会抛异常的方法时,必须catch住异常
非受检异常
- 所有继承自RuntimeException
- 不需要在方法签名上声明
- 可以不用catch且不用在调用方法上声明
Exception常用方法
- getMessage:用来获取异常描述,一般抛出的异常必须包含相关描述,如果必要,还需要带上抛出异常时的一些状态变量。
- getCause:获取导致该异常的原因,异常可以嵌套,例如可以将一个受检异常包装成一个非受检异常,当非受检异常被catch住之后希望获得导致该异常的异常时,可以使用getCause来得到原始异常。
- printStackTrace:在stderr中输出异常堆栈,但是,此方法无论何时都不应该被调用。
- getStackTrace:获取堆栈信息。
catch & finally
- catch块,放置异常处理的逻辑,比如给数据库中的记录打上异常标记,回滚事务等。
- 一般来说必须打印日志,并输出一些关键数据。
- catch还可以添加监控。
finally
- 来关闭资源!以及处理其他逻辑。
1 |
|
Guava Throwables
- getCausalChain:得到异常链
- getRootCause:得到最原始的异常,即最早的throw点
- propagate:将Exception包装成RuntimeException或者Error,简化异常处理。
- getStackTraceAsString:获取异常调用栈的信息,通过String返回
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!