Java 用户使用DOM操作篡改数据是一种例外情况吗?

Java 用户使用DOM操作篡改数据是一种例外情况吗?,java,validation,exception-handling,Java,Validation,Exception Handling,我目前正在阅读一些异常处理方面的最佳实践(特别是Java) 我读过这个 我知道抛出异常只适用于异常情况,例如: 在我看来,我有两个下拉列表和父和子下拉列表。“子”下拉列表的值取决于在“父”下拉列表中选择的内容 在我的后端验证中,我应该期望parent.id.equals(child.parentId)对吗?但是,如果情况并非如此,因为用户通过提交有效的子值(但不在所选父项下)篡改了数据,该怎么办 按照惯例,这被认为是允许我抛出异常的异常情况吗 根据定义,任何形式的用户篡改都是例外。不要对例外警察

我目前正在阅读一些异常处理方面的最佳实践(特别是Java)

我读过这个

我知道抛出异常只适用于异常情况,例如:

在我看来,我有两个下拉列表和父和子下拉列表。“子”下拉列表的值取决于在“父”下拉列表中选择的内容

在我的后端验证中,我应该期望
parent.id.equals(child.parentId)
对吗?但是,如果情况并非如此,因为用户通过提交有效的子值(但不在所选父项下)篡改了数据,该怎么办


按照惯例,这被认为是允许我抛出异常的异常情况吗

根据定义,任何形式的用户篡改都是例外。不要对例外警察宣传的这种“例外情况”业务太在意。事实上,例外只是另一种机制,可以使用或滥用。如果这样做是最好的选择,则抛出异常。有时这是唯一的选择,可能就是这样的情况;或者2)黑客企图。在这两种情况下都有例外,当然您的后端不应该执行标准操作。理想情况下,您应该在测试环境中获得完整的调试信息,而在生产前端则没有(但在后台,日志中的警告非常有用,可以作为潜在黑客企图的警报)。