Java异常处理用户输入

标签 java validation exception input

通过异常响应逻辑上不正确的用户输入是否正确?

这是一个例子:

我们有很多公司,每个公司都有很多员工。每个公司都有一个ID,每个员工都有一个ID。如果用户想要删除特定公司的员工,但他指定的公司不存在,是否可以抛出像 CompanyNotExtistsException 这样的异常?

如果我返回 true 或 false,我无法在 GUI 中回复用户,并显示为什么员工未被删除的消息 - 如果他不存在或公司不存在。

最佳答案

这是软件社区中很多争论的话题。有些人像 @thatidiotguy 一样认为在这种情况下异常(exception)是非常合适的。还有一些像我一样的人认为异常(exception)只应该在实际出现问题的特殊情况下使用;我觉得你的场景是一个可以通过条件轻松解决的替代流程。

但我对此也不信教。如果您走异常(exception)路线,请记住两件事:

  • 确保它是 @thatidiotguy 暗示的受检查异常。
  • 确保您的异常不会与 Java 提供的现有异常重复以表达相同的内容。例如,如果客户端提供了一个您期望数字的字符串,则不要编写自己的“InvalidFormatException”或其他内容。使用 Java 内置的 IllegalArgumentException

希望有帮助。

关于Java异常处理用户输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19575951/

相关文章:

java - log4j 记录到我的日志文件和 catalina.out

java - 从私有(private)存储库获取 Maven Artifact 并部署到服务器

java - 从另一个类运行时,GUI 不响应鼠标单击和拖动

java - 使用默认区域设置使用 DecimalFormat 舍入 2 位小数

jquery - 使用 html5 验证和 jquery ajax 提交表单

javascript - HTML 表单验证问题

java - 来自用户输入的数组列表并进行验证

Java:继承、异常和 super 关键字

java - 没有这样的方法: JRE picks wrong class if ambiguous occurs

java - 将数据导入 mongodb 时出现 JSONParseException