Эту ошибку не перехватить аксаптовким try/cath.
Но и просто присваивать объект CLR аксаптовской строке, надеясь на автоматическое приведение, просто не стоит, лучше прямо преобразовать.
Например, в том же классе AifUtil в методе getClrErrorMessage хотя и знают, что там строка, но ей приводят при помощи CLRInterop::getAnyTypeForObject(...). Такие примеры раскинуты по многим местам AOT, так что Вам для корректности лучше вместо:
прописать:
X++:
var = CLRInterop::getAnyTypeForObject(var_NET);
Хотя я бы еще сначала проверил на пустое значение NET переменную.