如何知道何时抛出异常

时间:2012-03-20 10:29:51

标签: java exception exception-handling thrift

我正在使用Apache Thrift工具,我正在从服务器端向客户端抛出一些例外。

唯一的问题是,当客户端调用返回boolean Thrift的方法时,忽略了Exception并且服务器正在发回布尔值的值:

Here is the issue opened

所以我想知道在调用方法之后是否可以检查是否已抛出异常,因为我的try / catch块没有这样做。

2 个答案:

答案 0 :(得分:2)

为了解决我的问题,我使用了一些不太干净的东西,但它有诀窍: 我在Thrift中定义了一个新结构,就像布尔值的包装器一样:

struct thriftBool{1: bool success = false,}

现在我的客户端收到所有异常而不是

if(client.myMethod())

我在做:

if(client.myMethod().success)

编辑:似乎0.9版本的Thrift解决了这个问题。

答案 1 :(得分:0)

您可以使用AOP。只需添加一个异常处理切入点。