Здесь есть очень хорошая дискуссия в комментариях к этому вопросу, и все подняли важные вопросы.
Код сгенерирует исключение только в том случае, если получение размера объекта вызовет исключение. Единственное, что вы сделаете, если это вызовет исключение, - это установить размер на 0. Er go, вы должны просто сделать object.Size return 0, если он собирался генерировать исключение. Лучше всего не бросать ненужные исключения, потому что они дороги.
Однако вы можете объявить подпрограмму, которая принимает в качестве параметров другие подпрограммы: которые вы ранее пытались поймать, в качестве подпрограмм:
Dim objSize = 0
TryCatch(Sub() objSize = obj.Size, Sub() objSize = 0)
Или вы можете использовать c#;)