Вы в основном правы, однако вопрос в том, обрабатывать ли исключение в вашем собственном коде или позволить ему пузыриться в стеке вызовов какому-то глобальному обработчику.
Большинство разработчиков OSGi, которых яЯ знаю, и я в том числе, предпочитаю подход, позволяющий создавать исключения из этого уровня.Перехват исключений в каждой точке, в которой они могут возникнуть, приводит к ужасно раздутому коду.
В некотором смысле это является основой дебатов между проверенными и непроверенными исключениями.
Обратите внимание на одно небольшое исправление:Ваша ссылочная переменная serviceObj
не может стать null
после нулевой проверки, поскольку она является локальной переменной, и другие потоки никогда не смогут изменить значение ваших локальных переменных.Однако, как вы поняли, сервисная ссылка может перестать работать или перестать работать.Шансы на это очень малы, хотя вы только что получили ссылку с трекера.