Функции, отличающиеся только спецификацией исключения, не могут быть перегружены (как и тип возврата, спецификация исключения является частью типа функции, но не является частью сигнатуры функции) (начиная с С++ 17).
Будет ли он нарушать двоичную совместимость?
Наверное, нет, но стандарт не гарантирует ничего (AFAIK).