Доброго времени суток. Решал учебную задачу
public class Solution {
public static StatelessBean BEAN = new StatelessBean();
public static void main(String[] args) throws FileSystemException {
try {
processExceptions();
} catch (FileSystemException f) {
BEAN.log(f);
}
}
public static void processExceptions() throws FileSystemException {
try {
BEAN.methodThrowExceptions();
} catch (FileSystemException f) {
BEAN.log(f);
throw f;
} catch (CharConversionException c) {
BEAN.log(c);
} catch (IOException i) {
BEAN.log(i);
}
}
public static class StatelessBean {
public void log(Exception exception) {
System.out.println(exception.getMessage() + ", " + exception.getClass().getSimpleName());
}
public void methodThrowExceptions() throws CharConversionException, FileSystemException, IOException {
int i = (int) (Math.random() * 3);
if (i == 0)
throw new CharConversionException();
if (i == 1)
throw new FileSystemException("");
if (i == 2)
throw new IOException();
}
}
}
Задачу не приняли из-за того,что в сигнатуре метода main()
не нужно указывать класс перекидываемого в него исключения throws FileSystemException
. Объясните пожалуйста, почему так делать нельзя.
Ваш код не должен падать никогда. Он должен выдавать сообщение о том, что что-то пошло не так, может закрываться, но не должен говорить системе, что он сломался. Это дурной тон. Представьте, что вы создали приложение, в которое можно записать ФИО человека и его дату рождения. При парсинге даты вы обнаружили, что пользователь ввёл запятую вместо точки, и вы вместо того, чтобы выдать пользователю предупреждение / сообщение об ошибке - падаете полностью. Нехорошо получается
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Хочу сделать, что бы когда BottomSheet появлялся на экране, что бы поднималась и View вместе с ним, для этого использую CoordinatorLayout и Anchor, проблема в том,...
При попытке перевести мой адаптер java в kotlin возникли следующие заминки:
ЗдравствуйтеИмеется java код вроде как по защите от декомпиляции indyprotectordemo Создал jar через marven
Есть инфо-блокПри нажатии на кнопку "Читать далее" (с указателем вниз), выезжает подробный текст инфо-блока, кнопка должна менятся на "Свернуть"...