#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 внутри методов? В этом случае, как было сказано выше лучше использовать делегирование и паттерн Декоратор.
Комментариев нет:
Отправить комментарий