我正在使用Apache Thrift工具,并且从服务器端到客户端抛出了一些异常。

唯一的问题是,当客户端调用一个返回布尔型Thrift的方法时,它会忽略Exception,而服务器会发回布尔型的值:

Here is the issue opened

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

最佳答案

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

struct thriftBool{1: bool success = false,}


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

if(client.myMethod())


我正在做:

if(client.myMethod().success)


编辑:看来0.9版的Thrift可以解决此问题。

07-24 09:46
查看更多