Я беру класс Java. Так что я просто изучаю Java. В учебнике говорится, что для расширения класса «Исключения» или расширения класса «Runtimeexception» для пользовательского исключения. Я понимаю, что «Runtimeexception» - это подкласс «исключения». У меня есть домашнее задание для реализации метода BIN2DEC, чтобы бросить пользовательское исключение, если строка не является двоичной строкой. Я обнаружил, что это упражнение сработало кем -то и изучал их решение. Тем не менее, я вижу, что они расширили класс «numberFormateXception», который, конечно, является ребенком «нелегаларгментарного восприятия», который является ребенком «runtimeexception». Чтобы использовать «NumberFormateXception»? Я предполагаю, что могу разработать решение, просто используя «исключение» или «runtimeexception». Тем более, что это все, что рассматривается в тексте. Исключение "или" Runtimeexception ") и объяснение (как это делает книга), когда использовать один против другой. Более подходящий подкласс, такой как «NumberFormateXception», но не объясняет, как человек придет к такому выводу, когда вы собираетесь сделать настраиваемое исключение. Я обнаружил, что одна статья, в которой говорится, что расширение «numberFormatexception» почти всегда является плохой идеей, и объяснил несколько причин, но тогда в ней говорилось, что «нелегальная маргментация», вероятно, будет более уместной. Это заставляет меня задуматься об одном и том же вопросе ... что заставит меня решить использовать «нелегаларгументирование» вместо «исключения» или «runtimeexception».
Подробнее здесь: https://stackoverflow.com/questions/794 ... -to-extend