当前位置: 首页 > 知识库问答 >
问题:

用户输入是否会导致检查异常?

胡景焕
2023-03-14

我有一个操作/方法来执行对数据库的插入。它需要几个字段,由于各种原因,操作可能会失败,因为一个或多个输入不是唯一的,或者因为它们与一些需要唯一的内部记录冲突。

saveUserInfo(primaryToken,secondaryToken,userid);
saveUserInfo(String primaryToken, String secondaryToken, String id) 
throws PrimaryTokenTakenException,SecondaryTokenTakenException

反对这种方法的人指出,我们开发团队知道会导致失败的每个错误情况,应该返回错误代码并使用它来处理每个情况。

int errorCode = saveUserInfo(primaryToken,secondaryToken,userid);

我看不出检查方法有任何明显的缺点。这些错误情况很有可能发生,您绝对必须在使用saveUserInfo()的任何地方解决它们。似乎正是为情况检查异常创建的。

共有1个答案

南门星河
2023-03-14

使用检查异常来处理无效的用户输入无疑是一种有效且合理的方法,只要您的程序能够检测到这些情况并从这些情况中正确恢复。检查异常只是意味着程序接口需要建立并遵循处理程序逻辑错误的契约,而未检查(运行时)异常是以这样一种方式发生的异常,即程序不能在运行时安全地从中恢复。处理异常的方法可能取决于开发团队的理念,但是检查与未检查的情况仍然有效--您知道如何检测无效输入并合理地从无效输入中恢复,因此您应该有义务对此采取一些措施。

有关指南,请参见本页:Java中的异常。

 类似资料:
  • 我试图创建一个简单的程序,从用户输入中提取两个数字,并将它们相加在一起。为了正确使用它,我已经把它放下来了,但是如果用户输入其他东西,比如字符串,我会试图阻止崩溃。我如何检查输入而没有异常,因为我听说它们是糟糕的做法? 理想情况下,我希望它只是重复最初的问题,要求输入一个数字。我想这会在一个循环中? 编辑:新代码 旧代码

  • 我有以下代码: 为什么我对布尔变量“bool”的检查会导致异常?当它“看到”if语句不是真的时,它难道不应该跳过if语句吗?当我移除if语句或检查它是否为空时,异常就会消失。

  • 我的方法必须请求用户输入,检查它是否是整数,如果是,则返回该整数。我尝试了使用try-catch和inputmaschException。 当它循环时,我遇到了一个问题,如果我输入一个非整数,它会不断地抛出“无效输入”“输入整数:”而不是实际要求输入一个。

  • 问题内容: 我正在学习“困难方式” Python35。下面是原始代码,我们被要求对其进行更改,以便它可以接受其中不包含0和1的数字。 这是我的解决方案,可以很好地运行并识别浮点值: 通过搜索类似的问题,我找到了一些答案,这些答案可以帮助我编写另一个解决方案,如下面的代码所示。问题是,使用isdigit()不允许用户输入浮点值。因此,如果用户说要取50.5%,它将告诉他们学习如何键入数字。否则它适用

  • 我试图检查用户是否输入了字符串。如果用户输入了字符串,我的程序应该输出错误消息。如果用户输入了整数,我的程序应该继续运行 这是我到目前为止的代码,我需要添加另一个条件来检查用户是否输入字符串,我尝试了一些方法,但它们不起作用

  • 问题内容: 如何检查给定的输入控件是否为空?我知道该字段上有一个属性,该属性告诉您给定的字段最初是否为空,但是如果有人填充该字段并再次提取整个内容该怎么办? 我认为上述功能是必要的,因为它对告知用户该字段必不可少。 任何想法将不胜感激! 问题答案: 很简单: 您也可以使用代替,如果这对您来说更自然。 更好的替代方法可能是真正利用Angular的形式能力: 在此处更新了Plnkr。