У меня есть класс BaseFragment
, который регистрирует / отменяет регистрацию в EventBus
в onStart()/onStop()
, и несколько дочерних классов, которые наследуются от него (FragmentA
, _5 _...). Базовый класс не имеет методов, помеченных @Subscribe
и FragmentA
, но я все равно хочу, чтобы он зарегистрировался на случай, если я добавлю некоторые из них в будущем.
Если я зарегистрирую объект, не имеющий @Subscribe
аннотированного метода, то ничего не произойдет, например, при использовании SquareUp's Otto, но EventBus выдает исключение:
org.greenrobot.eventbus.EventBusException: Subscriber class com.company.app.FragmentA and its super classes have no public methods with the @Subscribe annotation
Зачем выбрасывать исключение? Я имею в виду, что это не мешает запуску приложения.
Единственное решение - превратить register()/unregister()
вызовы в BaseFragment
в уродливый try ... catch
или есть более чистый обходной путь?
@Subscribe
. - person flawyte   schedule 02.08.2016@Subscribe
метод? Я думаю, что это исключение выброса на случай, если пользователь забудет добавить метод@Subscribe
. - person Max   schedule 02.08.2016