私は、基本的にスタンフォードパーサーの単なるラッパーであるThriftサーバーに取り組んでいます(それはそれほど重要ではありませんが)。スタンフォードパーサーは、与えられた入力に応じて、有用な例外をスローすることがあります。たとえば、入力が長すぎる場合(パーサーによると)、入力を生成するユーザーはこの例外を受け取り、処理方法を決定できるようにする必要があります。ただし、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());
}
メソッドはをスローしますTApplicationException
が、その内容がe.getMessage()
クライアントに送信されていません。スタンフォードパーサーによってスローされた例外を、スリフトによってクライアントにスローされるようにするにはどうすればよいですか?