我在akka-http中没有得到Rejection和Exception之间的区别,因为对它们的管理方式几乎相同,所以它们对我来说显得多余。
不可能具有Exception类型的Rejection,因此在我们的指令中,我们可以捕获Exception并触发适当的Rejection。
答案 0 :(得分:1)
拒绝使您可以验证请求参数。如果某些参数不匹配(此伪指令不正确),那么then伪指令可以拒绝该请求,而其他某些伪指令可以尝试匹配请求并处理than。
异常意味着您的指令中有意外行为。通常,在指令处理请求匹配之后。
据您所知,您可能遇到以下情况之一:
在匹配指令时有异常,这可能意味着您无法进行正确的验证,唯一的方法是调用函数并查找异常。如果抛出异常,则表示该指令不匹配,您将创建拒绝。
您将拒绝创建为异常处理的一部分。它是处理异常的方法之一。另一个只是返回带有501状态代码和内部服务器错误的响应。
这两种情况都是有道理的,但这并不意味着拒绝和例外是相似的事情。