我正在写一个使用Spring 3
框架的web应用程序。考虑一下我拥有N个控制器的情况。每个控制器将请求委托给公开的服务并获得响应并返回给用户。捕获意外异常是否是一种好的做法?
我想知道是否有更好的方法来捕获意外的运行时异常抛出控制器代码。我不想为每个控制器方法编写如下所示的内容。或者它是唯一的方法?
try {
//call the service
} catch(ServiceException serviceEx) {
//do process for know exception
} catch(Exception ex) {
//return generic error message.
}
我知道我们可以使用Spring Exception resolver。但是当意外错误发生时,我不想显示不同的错误页面。我想在UI上显示一些通用的错误消息,作为我的小部件的一部分?
编辑:
我也不想我的用户看到异常堆栈跟踪试图执行某些操作时。
孙大信
是否有预期的异常? –
@阿米尔:一个“预期”的例外是你特别捕捉的例外。你期待它,这就是为什么你写了一个'catch'子句。意想不到的是你不会捕获的,这可能会以堆栈跟踪的形式出现在UI中。 – Gabe