Есть какой то универсальный способ проверить, так сказать что объект "хороший".Нет. Как и нет понятия "хороший" для объекта. Он может быть испорчен так, что и проверять нечего. Фактически для объекта перед тем как менять его свойства нужно проверить, что он IsWriteEnabled. Все остальные проверки ни к чему не приведут.