2012-03-20 128 views
2

我正在使用Apache Thrift工具,并且我从服务器端向客户端抛出了一些异常。如何知道什么时候抛出异常

唯一的问题是,当客户端调用返回一个布尔节俭是忽略了异常的方法和服务器发回布尔值:

Here is the issue opened

所以我在想,如果可能在调用方法来检查自从我的try/catch块没有执行之后是否抛出异常。

回答

2

为了解决我的问题,我用的东西不是很干净,但它的伎俩: 我定义的节俭一个新的结构像个为布尔值的包装:

struct thriftBool{1: bool success = false,} 

现在我的客户端接收所有的和做

if(client.myMethod()) 

,而不是例外,我正在做:

if(client.myMethod().success) 

编辑:看来0.9版本的Thrift修复了这个问题。

+0

你知道0.9版本如何解决这个问题吗? – 2016-06-16 06:44:26

+0

不知道,就在我打开我的机票一年后,我一直在做一些测试,问题似乎解决了。在保留包装后,我可能会错 – darkheir 2016-06-16 09:04:48

0

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

相关问题