Вот основное и простое определение интерфейсного и базового класса:
аплодисменты
Вы можете просто выбросить исключение. Если это хорошо задокументировано, то для IMO это разумное использование исключений, поскольку это действительно ошибка программирования.