We should take a bit more care when building the exception message: if calling a method on an entity failed, there's a significant risk that calling toString() will fail too.