better handling with exceptions in __toString()