在 Spring 数据中,我是否应该偏执地处理所有可能的异常?

In Spring Data, should I be paranoid about handling all possible exceptions?

假设我有这行代码

@Override
public Optional<Category> getCategoryById(int id) {
    return repository.findById(id);
}

spring 数据的文档说明了“findById”函数:

抛出: IllegalArgumentException – 如果 id 为空。

在我的例子中,它永远不可能为空,所以如果发生错误,我是否仍应添加 try catch 块来处理? 另外,是否应该 try/catch 它并进行相应处理? 或者我应该让它被扔掉然后让

@ControllerAdvice/Exception 处理程序处理它并 return 将错误返回给用户?

一般来说,如果您能保证永远不会向此方法传递一个 non-existing ID,您可以考虑 @SneakyThrows

来自 Lombok 项目。

假设这是一个更大的项目,请确保记录了您对 @SneakyThrows 的使用。