use toString for not able to throw exception in __toString.