gpt4 book ai didi

java - Spring Framework 在 RuntimeException 中包装检查异常

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:04:34 31 4
gpt4 key购买 nike

调用这个方法:

   ->
simpleJdbcTemplate.queryForInt(SQL,null);
->
springs SimpleJdbcTemplate 中的

queryForInt() 方法抛出一个 DataAccessException,这是一个运行时异常。我想将异常传播到应用程序的 View 层,因为 Spring 框架工作将检查异常包装在 RuntimeExceptions 我卡在这里。

我该怎么做?

解释一:

Spring Framework 的 JDBC 抽象框架提供的附加值 - 他们说 Spring Framework 负责除 3 和 6 之外的所有内容。3 和 6 需要由应用程序开发人员编码

  1. 定义连接参数

  2. 打开连接

  3. 指定语句

  4. 准备并执行语句

  5. 设置循环以遍历结果(如果有)

  6. 为每次迭代做工作

  7. 处理任何异常

  8. 处理交易

  9. 关闭连接

但是如果我遇到程序启动一段时间后与数据库的连接丢失的情况。然后在调用上述方法时将抛出运行时异常。由于我不处理异常,因此无法通知用户界面( View )。

最佳答案

仅仅因为 Spring 抛出运行时异常并不意味着您无法捕获它。如果您想为 DataAccessExceptions 做一些特殊的事情,您当然可以这样做:

try {
// query logic
} catch (DataAccessException ex) {
// handle the exception
}

如果您使用的是 Spring 的 MVC 框架,可能值得研究一下 ExceptionResolver 接口(interface)。它是一种决定如何处理应用程序较低层抛出的所有未捕获异常的机制。它为您提供了最后一次机会,可以根据抛出的异常显示不同的 View 。

关于java - Spring Framework 在 RuntimeException 中包装检查异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/864780/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com