Да, вам нужно определить serialVersionUID в абстрактном классе. Сериализация сериализует состояние экземпляра, что обычно означает нестати c поля; любое унаследованное состояние должно быть сериализовано вместе с остальным состоянием объекта.
Тот факт, что у вас нет полей в BaseException, не означает, что вы должны пропустить serialVersionUID.
Примечание что вопреки распространенному мнению, serialVersionUID не обязательно должен основываться на ha sh имени или структуры класса. Это делает только вычисленный по умолчанию UID серийной версии , когда класс явно не определяет поле serialVersionUID
. Обычно вы можете объявить его простым числом:
private static final long serialVersionUID = 1;