私はApache Thriftツールを使用しています。サーバー側からクライアント側にいくつかの例外を投げています。例外がスローされたときを知る方法
唯一の問題は、クライアントがブールスリフトが例外を無視していると、サーバーがブールの値を返送される返すメソッドを呼び出しているときということです:
だから私はあれば思っていました私のtry/catchブロックがそれをしていないので、例外がスローされたかどうかをチェックするためにメソッドを呼び出した後に可能です。
私はApache Thriftツールを使用しています。サーバー側からクライアント側にいくつかの例外を投げています。例外がスローされたときを知る方法
唯一の問題は、クライアントがブールスリフトが例外を無視していると、サーバーがブールの値を返送される返すメソッドを呼び出しているときということです:
だから私はあれば思っていました私のtry/catchブロックがそれをしていないので、例外がスローされたかどうかをチェックするためにメソッドを呼び出した後に可能です。
例外と代わりの
if(client.myMethod())
をやって、私がやっている:
if(client.myMethod().success)
編集:Thriftの0.9バージョンで問題が修正されたようです。
AOPを使用できます。例外処理のポイントカットを追加するだけです。 私はブール値のラッパーのような演技スリフトで新しい構造体を定義した:
struct thriftBool{1: bool success = false,}
今私のクライアントは、すべての受信、私は非常にきれいではない何かを使用しますが、それはトリックん私の問題を解決するために
0.9バージョンでこの問題がどのように修正されたかご存知ですか? –
わかりませんが、チケットを開けてから1年後にいくつかのテストをしていて、問題は解決したようです。私はラッパーを保管した後、私は間違っている可能性があります – darkheir