#java #android
Как обернуть весь класс в throws?
Просто у меня в классе много методов и в каждой я делаю try catch, код становиться
здоровым и не читабельным.
Можно ли как-то сделать чтобы try catch был только там, где я создаю объект класса.
Типа
try{ new MyClas() }
В Java не силен, сильно не ругайтесь
Ответы
Ответ 1
Укажите вашему конструктору, что он может выкинуть исключение: public class MyClass { public MyClass() throws Exception { } } Теперь его можно создавать только в блоке try try{ new MyClas(); } catch(Exception e) {} Все остальные методы также можно сопроводить throws Exception и оборачивать их вызовы в try - так вам не надо будет внутри самих методов писать try блокиОтвет 2
Есть несколько вариантов, если не хотите оборачивать вызовы метода в try catch блок переписать реализацию методов, и бросать из них только проверяемые исключения RuntimeException. воспользоваться библиотекой lombok, а именно аннотацией @SneakyThrows сделать обертку декоратор для вашего класса, где в методах будут блоки обработки исключений, и делегирование вызова исходному методу прокидывать исключения выше, добавляя в сигнатуру метода throws ExceptionОтвет 3
Возможно в этом классе переопределяются методы, которые не должны кидать исключения и поэтому приходиться эти исключения обрабатывать в секциях try-catch внутри методов? В этом случае, как было сказано выше лучше использовать делегирование и паттерн Декоратор.
Комментариев нет:
Отправить комментарий