我正在开发一个 Thrift 服务器,它基本上只是斯坦福解析器的一个包装器(尽管这不是太重要)。有时,Stanford Parser 会根据给出的输入抛出有用的异常;例如,如果输入太长(根据解析器),生成输入的用户应该收到这个异常,以便他们决定如何处理它。但是,我似乎无法让 Thrift 传递这个异常,而是只返回
Internal error processing <name of Thrift method being called>
给客户。
我在该方法中有以下代码:
try
{
// a whole bunch of Stanford Parser stuff
}
catch (Exception e)
{
throw new TApplicationException(TApplicationException.INTERNAL_ERROR, e.getMessage());
}
并且该方法确实会抛出 a TApplicationException
,但无论是什么内容e.getMessage()
都不会发送给客户端。如何让斯坦福解析器抛出的异常由 Thrift 抛出给客户端?