Вы должны отступить здесь.
Дело в том, что вы либо используете стандартный список, тогда у вас нет такой проверки в нужном месте . (Как ваш текущий пример).
Вы видите, что ООП нужно сделать: вы хотите, чтобы вызов add()
выбрасывал это исключение!
Этого можно добиться, создав собственную собственную реализацию интерфейса List, например, расширение ArrayList. И затем вы просто гарантируете, что ваш add()
метод проверяет текущий размер до добавления нового члена.
Вы определенно хотите избежать развязки добавление элементов и проверка, как в вашем примере.