Нет, нет std::timeout_exception
.Стандарту не нужно его определять, поскольку в стандартной библиотеке нет ничего, что могло бы его выбросить.
Очевидным кандидатом является std::timed_lock
, но try_lock_for
и try_lock_until
просто возвращают false.
Ваше определение выглядит хорошо.