[Python-3000] TextIOWrapper.write(s:str) and bytes in py3k-struni

Nick Coghlan ncoghlan at gmail.com
Tue Jul 17 14:15:31 CEST 2007


Christian Heimes wrote:
> What do you think about
> 
>     def write(self, s: str):
>         if self.closed:
>             raise ValueError("write to closed file")
>         try:
>             b = s.encode(self._encoding)
>         except AttributeError:
>             raise TypeError("str expected, got %r" % s)
>         ...

The try/except here is a bit too broad - you only want to trap the 
attribute error.

That said, I'm not sure what error you could raise that would be clearer 
than complaining that the object passed in doesn't have an encode() method.

Cheers,
Nick.

-- 
Nick Coghlan   |   ncoghlan at gmail.com   |   Brisbane, Australia
---------------------------------------------------------------
             http://www.boredomandlaziness.org


More information about the Python-3000 mailing list