java - ServletException 还是 IOException?

标签 java exception servlets ioexception servletexception

...我永远无法在这两者之间做出决定。我总是回到代码并在之间切换。

当您从(扩展的)HttpServlet 编码时(假设是一个 Login 类),它同时支持 ServletException 和 IOException,并且您只想进一步抛出异常(例如 NoSuchAlgorithmException、NamingException)以在页面中查看它稍后您的应用程序将通过哪一个抛出它:ServletException 还是 IOException?

P.S.:我不会 try catch 所有可能的 NoSuchAlgorithmException、NamingException 等,因为我可能会错过以前从未见过的真正原因,并以错误的方式对待它或向用户。

最佳答案

IOException 有其自己的含义。仅当 IO 操作出现问题时才应该抛出 IOException从文件或 URL 读取/写入数据。如果我必须在两者之间做出选择,我会选择 ServletExcetion

但是,如果有空间来定义更好的异常处理,那么我想创建自己的自定义异常类,例如MySystemException 扩展 RuntimeException 并将相关异常包装为 MySystemException 并抛出它。

关于java - ServletException 还是 IOException?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13538605/

相关文章:

java - XMLEventWriter : how can I tell it to write empty elements?

java - 在 java 中,如何处理有关 Windows 命令行参数的异常?

java - 返回响应实体中断流程

c++ - catch-all-rethrow 与根本没有 try-catch block 有什么不同吗?

java - 在 Tomcat 网络应用程序中提供静态内容

java - 如果我使用 Java 将所有可能的 64 位 double 值存储在文件中,文件大小是多少?

java.net.URLConnection.guessContentTypeFromStream 和 text/plain

java - 如何终止 SwingWorker?

java - 将同名的单选按钮传递给 servlet

java - 在 Java Servlet 中,如何更改现有 cookie 的值?