Разрешено ли бросать конструкторам перемещения?Да. Должны ли они?Нет.
В общем, ничего, что вы делаете внутри них, не должно быть чем-то, что может бросить.Вы не должны выделять память, вызывать другой код или что-то в этом роде.Единственная причина написать конструктор перемещения - скрыться с чужими указателями памяти и ссылками на объекты.Вы должны скопировать несколько основных типов и обнулить значения в другом объекте.Эти вещи не должны выбрасывать.
Так что, хотя это разрешено, это не очень хорошая идея.Если вы делаете это, переосмыслите то, что вы делаете в своих операциях перемещения.