0

spring 中抛出的大多数异常都是运行时异常,eclipse 往往不会突出显示(无论如何对我来说)。是否只是学习可以抛出什么以及何时或是否有更好的方法来做到这一点。我问的原因是因为我发现自己错过了运行时异常的捕获,这显然不好。

谢谢

4

2 回答 2

1

大多数运行时异常是无论如何您都无能为力的事情,因此您不捕获它们也差不多。您应该设置一个异常处理程序来捕获来自控制器的所有异常,因为无论如何您都希望记录 RuntimeExceptions。DataAccessException 的一些子类(想到的是用于处理违反的唯一约束的子类)您可能偶尔需要一次,但在大多数情况下,这在实践中不应该成为问题。

TLDR 版本:我从 2004 年开始使用 Spring,我几乎不知道 Spring 抛出的任何未经检查的异常。别担心,会好的。

于 2012-11-06T14:49:50.093 回答
1

编译器和 Eclipse 都不会告诉您未经检查的异常——因为它们是未经检查的。这是设计使然。

查看 javadocs 以查看可以抛出的内容。

真正的问题是:为什么“显然不好”?当你抓住它们时你会怎么做?记录并重新抛出?那不是处理。

您可以从持久层捕获 DataAccessExceptions 并做一些事情。您可以为错误设置默认页面。很多选择。

于 2012-11-06T14:49:59.277 回答