我应该避免在servlet中捕获数据库异常吗?

问题描述 投票:-1回答:1

我读到了关于throw early catch late原理的内容,现在我想知道是否应该在我的servlet中捕获数据库异常。

在我看来,servlet是我的应用程序的最后一点,我可以在其中决定程序流程。我可以将http错误代码发送回客户端,而在dao层执行此操作对我来说似乎很奇怪。

如果我错了,我会很高兴听到如何在dao层中正确捕获数据库异常。

java exception servlets
1个回答
2
投票

Throw early catch late不是解决引发异常的预期失败的解决方案。

在编写网络代码时,网络通常会丢弃数据包,或者您尝试使用的服务无法访问。导致整个servlet崩溃将是一个非常糟糕的做法,因为它需要网络可操作以使servlet可操作。

这似乎不是一个好的用户体验,更合理的方法是提示您正在尝试连接到数据库,失败,重新尝试和失败等。至少在这种输出中,你得到一个更好的抱怨,数据库不可用,而不是你的servlet崩溃。

© www.soinside.com 2019 - 2024. All rights reserved.