Как узнать, когда выдается исключение
Я работаю с инструментом Apache Thrift и выкидываю некоторые исключения со стороны сервера на сторону клиента.
Единственная проблема заключается в том, что когда клиент вызывает метод, возвращающий логическое значение Thrift, игнорирует исключение, а сервер отправляет обратно значение логического значения:
Поэтому мне было интересно, возможно ли после вызова метода проверить, было ли выброшено исключение, так как мой блок try/catch этого не делает.
2 ответа
Чтобы решить мою проблему, я использовал что-то не очень чистое, но это помогает: я определил новую структуру в Thrift, действующую как оболочка для логического значения:
struct thriftBool{1: bool success = false,}
Теперь мой клиент получает все исключения и вместо этого
if(client.myMethod())
Я делаю:
if(client.myMethod().success)
Изменить: Кажется, что версия 0,9 Thrift решает проблему.
Вы могли бы использовать АОП. Просто добавьте pointcut обработки исключений.