一种不适用全局常处理器的案例:
我们在开发的时候一般都是讲将service层的异常抛出,再将controller层异常抛出,让全局异常处理器捕获异常然后提示。但有一种异常需要使用try catch 捕获。
举例:
这是一个service层:
// 取数据
{
if 缓存中有数据 each 取缓存中数据
if 缓存中没数据 each 从数据库中读数据,然后存入缓存中
}
这里我们在第二个if中可以看出,我们从数据库正常读数据,然后存入缓存,如果我们正常读到了数据,但是由于某些原因没成功的写入缓存,那么。。我们是不是要全局异常处理?当然答案是NO!,我们数据都取到了,只是没存入缓存,然后给用户抛一个异常。。这就有点过分了。所以在这个层面,是建议使用try catch进行异常处理的。