Как узнать, когда выдается исключение

Я работаю с инструментом Apache Thrift и выкидываю некоторые исключения со стороны сервера на сторону клиента.

Единственная проблема заключается в том, что когда клиент вызывает метод, возвращающий логическое значение Thrift, игнорирует исключение, а сервер отправляет обратно значение логического значения:

Вот проблема открыта

Поэтому мне было интересно, возможно ли после вызова метода проверить, было ли выброшено исключение, так как мой блок try/catch этого не делает.

2 ответа

Решение

Чтобы решить мою проблему, я использовал что-то не очень чистое, но это помогает: я определил новую структуру в Thrift, действующую как оболочка для логического значения:

struct thriftBool{1: bool success = false,}

Теперь мой клиент получает все исключения и вместо этого

if(client.myMethod())

Я делаю:

if(client.myMethod().success)

Изменить: Кажется, что версия 0,9 Thrift решает проблему.

Вы могли бы использовать АОП. Просто добавьте pointcut обработки исключений.

Другие вопросы по тегам