English 中文(简体)
春天在JDBCT雇员实施特殊处理
原标题:Spring s implementation of Exception Handling in JDBCTemplate

我正在通过春季书学习春天。 在接过了有关《防止母婴传播公约》的章节之后,人们感到惊讶的是,春天以不同的方式处理了大部分的“限制”例外。

例如,所有经核实的例外情况都转化为不受限制的例外。 这究竟有什么好处?

在我的经验中,应处理大部分例外。 例如,我们申请与Oracle PL/SQL程序会谈。 要求PL/SQL程序可返回ORA-01403:无数据见。 这种例外通常是通过向用户展示错误信息而从中恢复的。 e.g. 搜查结果没有归还任何东西。

How would this kind of a checked exception be handled in Spring if all exceptions are unchecked i.e. Spring wont force you to handle them?

我知道,你可以追捕龙时间外观,但我非常喜欢你被迫处理被检查的例外情况的想法。 将一些已核实的例外情形改为不受限制的例外情形提供了哪些好处?

最佳回答

有些人不喜欢检查例外情况,因为他们迫使你进行某种例外管理。 我猜测春gu就是这样。

我个人希望做的是打算做的事情:

try {
    // execute some SQL
} catch (SQLException ex) {
    if (ex is an expected condition) {
        // deal with it: for example with a "no data found" condition
        // this might mean returning null, or throwing some kind of business exception, such as
        // NoEmployeeFoundException, or whatever
    } else {
        // this is a programming / environment error
        // throw as unchecked exception
        throw new RuntimeException(ex);
    }
}

当然,这种做法的下滑是更多的工作。 背后是,你在法典中明确阐述了“预期”的情况,不应发生这种情况。

问题回答

是的,应当处理例外情形,但在春天设计中,在较高一级,每一次都采用DAO方法。 事实上,在每一种方法中,都使用过“高射线”处理方法的设计都是不明确的复印件-帕斯特设计,而当你改变某种情况时,你必须在各个地方实行变革。

各种要求,以及你处理无节制例外情况的场所。 其中之一是aspects,例如,你可以将春天的例外情形更改为你的例外情况(不必在方法签名中宣布不附带例外情形,因此这种转换是非常合法的)。 在<>REST方法中,你可以添加通用手稿,将错误转告给打电话者,你只写一个地方处理例外情况。 在JSF/JSP的基建技术中,如果出现错误,你可以添加自己的错误网页。

这笔补助不会被迫收割或宣布。

我不相信在用户搜索过程中没有找到数据是例外的,特别是在KQ级。 把这变为一项受检查的例外,即使用例外处理一般流动控制。 我认为,要避免一名反家长;YMMV。

许多与守则有关的错误;海事组织更能失败快速发展。





相关问题
Spring Properties File

Hi have this j2ee web application developed using spring framework. I have a problem with rendering mnessages in nihongo characters from the properties file. I tried converting the file to ascii using ...

Logging a global ID in multiple components

I have a system which contains multiple applications connected together using JMS and Spring Integration. Messages get sent along a chain of applications. [App A] -> [App B] -> [App C] We set a ...

Java Library Size

If I m given two Java Libraries in Jar format, 1 having no bells and whistles, and the other having lots of them that will mostly go unused.... my question is: How will the larger, mostly unused ...

How to get the Array Class for a given Class in Java?

I have a Class variable that holds a certain type and I need to get a variable that holds the corresponding array class. The best I could come up with is this: Class arrayOfFooClass = java.lang....

SQLite , Derby vs file system

I m working on a Java desktop application that reads and writes from/to different files. I think a better solution would be to replace the file system by a SQLite database. How hard is it to migrate ...

热门标签