java 异常处理

2021-12-23  本文已影响0人  MikeShine

1. 写在前面

异常处理在平时工作中使用的场景非常多,当下对于异常的了解也仅限于一个 try{} catch{}。缺乏对于这个模块的系统性的认知。
今天借助廖雪峰的教程,比较系统的看一下 java 中的异常处理。


2. java 中的异常

java 中的异常

java 中对于异常有如下的规定:

因为 运行时异常 是程序运行时产生的,比如 IndexOutOfBoundsExceptionNullPointerException,这种异常大量存在,并且是由程序逻辑引起的,因此 java 不要求对这些异常进行捕获和处理。


3. 捕获和处理异常

try{}
catch {}
finally {}

这里要明白,异常是根据函数调用链,一层一层向上抛的。
只需要在最上层 catch 一下即可。

这个之前一直会困扰你,觉得下层的方法如果出错了,上层的方法就拿不到错误信息了。事实上如果设计的合理,还是可以将异常 拿到的(当然,当前AE代码中很多方法的异常处理的设计都是不合理的,因此没有办法在上层拿到错误信息)


4. Assert 断言

英文翻译

Assert 是一种调试程序的方法。一般不用在正式项目中。

        int a = 2;
        assert a<0:"this is assertion";
执行结果

不满足就会报 AssertionError

一般jvm是不开启assertion的,会不编译这部分代码。
-ea jvm参数开启。


5. 日志

SLF4J 和 LOGBACK
一般我们用这个组合来整。

后续我们看一下这个如何配置进入一个工程。

上一篇 下一篇

猜你喜欢

热点阅读