我有一个java servlet并编写了一个方法,让客户端知道服务器遇到了给定输入的错误。
然后客户端调用名为handleErrors()
我想要做的是使用此方法停止已将请求发送到服务器的进程。线程中断是否会在这里使用,或者它们是处理这些错误的更好的做法?
以下是简要概述:
服务器:
预计格式如下的字符串:“ab£” - 2个字符,2个符号
客户端:
发送:badMethod()发送“$$$”
服务器:
返回:“错误”
客户端:
实现错误并运行handleErrorMethod(),这将完全停止badMethod()。
我希望这是一个明确的问题,而不是一个骗局。
TIA
答案 0 :(得分:0)
在RESTful服务中,典型的流程将涉及服务器返回400范围内的HTTP错误状态(422可能非常适合这里),客户端应该检查并相应地做出响应。您在消息有效负载中使用“错误”仍然有效,但您可能会考虑一些现有标准。但是,一旦客户端得到响应,服务器就会退出循环,并且所有编程都是客户端的本地编程。
因此,如果客户端也是用Java编写的(我讨厌假设),那么你可以使用任意数量的技术。 @EJP建议客户端中的handleErrors()抛出异常对我来说似乎是一个简单,优雅的解决方案。您的调用方法badMethod()将被中断,并且可以捕获异常或将异常冒泡到其调用者。