当前位置 : 主页 > 网页制作 > html >

web-applications – 如何在Web应用程序中处理业务错误?

来源:互联网 收集:自由互联 发布时间:2021-06-12
假设我有一个可以将人员存储在数据库中的Web应用程序.每个人必须拥有唯一的电子邮件地址(或用户名或其他).如果用户尝试添加具有已存在的电子邮件地址的Person,则应返回表单并显示
假设我有一个可以将人员存储在数据库中的Web应用程序.每个人必须拥有唯一的电子邮件地址(或用户名或其他).如果用户尝试添加具有已存在的电子邮件地址的Person,则应返回表单并显示错误消息(就像在典型的验证失败期间一样).

这种错误最常见的是从服务层到控制器然后再到视图?服务方法是否应该为控制器捕获异常,或者返回值或某种结果对象?

如果我最终想要使用我的服务层来生成Web服务,这是否会改变我的工作方式?

任何有关最佳实践/样本申请的建议或链接将不胜感激.

基本上有两种方法:异常并返回业务规则验证的结果.每种方式都有其优点和缺点,但基本上:

例外:

>您当时只能返回一个失败的结果
>异常易于实现,不会使业务逻辑复杂化 – 只需检查条件并抛出业务异常即可
>例外仅适用于阻止规则
>可以轻松回滚开放交易

业务规则验证:

>您可以检查多个业务规则并将损坏的列表返回给用户
>多个规则可能会使逻辑流程复杂化,因为它们会使方法中的返回类型变得混乱
>它们允许处理更多场景,例如非阻塞信息规则

我认为这在很大程度上取决于应用哪种方法更适合,所以没有简单的答案.很长一段时间我成功地使用了业务规则的例外,现在我倾向于利用第二种方法.

网友评论