Jetty可以用作庫來將servlet-server嵌入到應用程序中。爲此,您創建類Server的實例並在某個時刻調用start。此方法拋出異常。捕捉或拋出純粹的Exception(不是專門的子類)是不好的風格。有誰知道,我可以如何避免這種情況,並在我的應用程序中運行Jetty服務器而不處理這個一般的異常?如何避免Jetty中服務器類拋出的一般異常?
1
A
回答
4
捕捉Exception
是不好的做法除非只有Exception
被拋出。沒有解決方法。捕獲不同的Exception
的子類別的缺點是可能會遺漏某些子類別。
Jetty未能在您的應用程序中啓動的含義是什麼?你可以有多種途徑:
決定在組件級,你應該proceeed
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
}
0
我會強烈建議你以某種方式處理它。
如果Jetty無法啓動(例如綁定到其指定的端口),那麼您將想要以某種方式管理它。至少要記錄這個,這樣你就知道你沒有運行Web服務器。也許在一段時間後重試?
問題是Jetty無法啓動,您應該關心這一點。
相關問題
- 1. 避免拋出一個新的異常
- 2. 避免SetFocus的拋出一個異常
- 3. 如何避免用戶在服務器拋出異常時收到500錯誤
- 4. PHP REST服務拋出異常 - 要避免控制檯錯誤
- 5. 如何避免JBoss服務器中的Perm Gem空間異常?
- 6. 如何避免拋出異常後返回一個可選項?
- 7. 如何避免在tomcat服務器上運行jsp的異常?
- 8. Web服務類拋出異常
- 9. Web服務拋出異常
- 10. 如何從Dart的服務器API代碼中拋出異常?
- 11. 如何重新拋出SQL服務器中的相同異常
- 12. 避免服務類
- 13. 在Windows服務中拋出異常
- 14. 如何避免TypeInitializer異常?
- 15. 如何重新拋出一般異常哈斯克爾
- 16. 在WCF服務拋出異常拋出一個
- 17. 避免異常?
- 18. 如何避免python中的yield命令每次都會拋出異常?
- 19. 類拋出異常
- 20. 類拋出異常
- 21. 對象類拋出類拋出異常
- 22. 處理快速異常,並避免服務器重啓
- 23. Ldap gem在Rails中拋出與服務器異常的連接
- 24. Restful web服務拋出servlet.init()異常
- 25. 訪問控制服務拋出異常
- 26. 向wcf服務拋出異常
- 27. 服務層應該拋出異常嗎?
- 28. 春天web服務拋出異常
- 29. 請澄清「服務器拋出一個異常。(異常從HRESULT:0x80010105(RPC_E_SERVERFAULT))」
- 30. 拋出一個新的異常拋出一箇舊的異常