我是否应该用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是这样,但是您可能会在没有特定处理的情况下有一些例外,因此,泛型处理就可以了。



