在带有Spring Rest的全局异常处理程序中具有Generic Exception类处理程序是一种好习惯吗?

在带有Spring Rest的全局异常处理程序中具有Generic Exception类处理程序是一种好习惯吗?,第1张

在带有Spring Rest的全局异常处理程序中具有Generic Exception类处理程序是一种好习惯吗?

我是否应该用RunTimeException替换它,因为此块是在运行时发生异常的?

为确保捕获任何抛出的异常,且从未被组件处理或异常类型大于的异常处理程序处理

Exception
,您应该有一个处理程序
Exception

对于的处理程序
RuntimeException
是不够的,因为在运行时也会抛出已检查的异常,并且如果高级组件的方法声明指定
throwsException
throws "any checkedexception"
,则可能会传播已检查的异常,直到客户端或此处将应用默认行为的容器传播为止。
例如,想象一下这种可能导致这种情况发生的rest控制器方法声明:

@RequestMapping(value = "/{id}", method = RequestMethod.GET)public ResponseEntity<Foo> getOne(@PathVariable long id) throws Exception {       // ....}

为了覆盖默认的Spring行为,您将需要为添加处理程序

Exception

当然,这并不意味着只声明一个处理程序
Exception
是这样,但是您可能会在没有特定处理的情况下有一些例外,因此,泛型处理就可以了。



欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/5641561.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-12-16
下一篇2022-12-16

发表评论

登录后才能评论

评论列表(0条)

    保存