As I said elsewhere, maybe just:

```
try:
   return self.to_string(format=format_spec)
except ValueError:
   return format(str(self), format_spec)
```