I prefer option 1; I think having better debugging is great (so thank you for writing it). But printing an object should never throw an exception. So, I would suggest, as you loop over, catch all exceptions; if it's an AttributeError then just skip the property silently; but if it is another error then maybe put a string representation of the error. Hopefully we won't have too many of that second case!
I prefer option 1; I think having better debugging is great (so thank you for writing it). But printing an object should never throw an exception. So, I would suggest, as you loop over, catch all exceptions; if it's an AttributeError then just skip the property silently; but if it is another error then maybe put a string representation of the error. Hopefully we won't have too many of that second case!