...我永远无法在这两者之间做出决定。我总是回到代码并在之间切换。
当您从(扩展的)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/