When to send an application into an error state

Actually I don’t mean erroneous data passed over charm relations, I mean

The problem is when a charm ran into an internal charm error and I had to force remove it. The force removal of one charm is what broke the other charm.

I did get a good point from @thumper on that, though.