1

Jetty可以用作一个库来将 servlet-server 嵌入到您的应用程序中。为此,您创建类Server的实例并在某个时间点调用 start。此方法抛出异常。捕获或抛出纯异常(不是专门的子类)是不好的风格。有谁知道,我怎样才能避免这种情况并在我的应用程序中运行一个 Jetty 服务器而不处理这个一般异常?

4

2 回答 2

4

除非只,否则抓Exception是不好的做法。没有解决方法。捕捉不同的子类的缺点是可能会错过其中的一些。ExceptionException


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 回答