Jetty可以用作一个库来将 servlet-server 嵌入到您的应用程序中。为此,您创建类Server的实例并在某个时间点调用 start。此方法抛出异常。捕获或抛出纯异常(不是专门的子类)是不好的风格。有谁知道,我怎样才能避免这种情况并在我的应用程序中运行一个 Jetty 服务器而不处理这个一般异常?
问问题
1497 次
2 回答
4
除非只扔,否则抓Exception
是不好的做法。没有解决方法。捕捉不同的子类的缺点是可能会错过其中的一些。Exception
Exception
Jetty 无法在您的应用程序中启动是什么意思?您可以有多种方法:
在组件级别决定您应该继续
try {
server.start();
reportingAvailable = true;
} catch ( Exception e ) {
log("Jetty failed to start. Reporting will we unavailable", e);
}
将其视为致命异常
try {
server.start();
} catch ( Exception e ) {
throw new RuntimeException("Jetty failed to start", e);
}
将其视为可恢复的异常
try {
server.start();
} catch ( Exception e ) {
throw new JettyFailedToStartException(e); // JettyFailedToStartException !instanceof RuntimeException
}
于 2009-07-07T12:41:11.307 回答
0
我强烈建议你以某种方式处理它。
如果 Jetty 无法启动(例如绑定到其指定的端口),那么您将需要以某种方式管理它。至少记录一下,这样你就知道你没有运行 Web 服务器。也许过一会再试?
关键是 Jetty 无法启动,你应该关心它。
于 2009-07-07T12:27:23.580 回答