错误捕获,我可以中断并停止进程吗?

时间:2012-03-25 19:27:26

标签: java

我有一个java servlet并编写了一个方法,让客户端知道服务器遇到了给定输入的错误。

然后客户端调用名为handleErrors()

的方法

我想要做的是使用此方法停止已将请求发送到服务器的进程。线程中断是否会在这里使用,或者它们是处理这些错误的更好的做法?

以下是简要概述:

服务器:

预计格式如下的字符串:“ab£” - 2个字符,2个符号

客户端:

发送:badMethod()发送“$$$”

服务器:

返回:“错误”

客户端:

实现错误并运行handleErrorMethod(),这将完全停止badMethod()。

我希望这是一个明确的问题,而不是一个骗局。

TIA

1 个答案:

答案 0 :(得分:0)

在RESTful服务中,典型的流程将涉及服务器返回400范围内的HTTP错误状态(422可能非常适合这里),客户端应该检查并相应地做出响应。您在消息有效负载中使用“错误”仍然有效,但您可能会考虑一些现有标准。但是,一旦客户端得到响应,服务器就会退出循环,并且所有编程都是客户端的本地编程。

因此,如果客户端也是用Java编写的(我讨厌假设),那么你可以使用任意数量的技术。 @EJP建议客户端中的handleErrors()抛出异常对我来说似乎是一个简单,优雅的解决方案。您的调用方法badMethod()将被中断,并且可以捕获异常或将异常冒泡到其调用者。