It is throwing InputError because of missing destination.

Please create two new classes that extend from InputError:
MissingDestinationError and
SourceDestinationClashError

and use these new classes when throwing and intercepting.