changeset: 90332:0c7cf0e598e7 branch: 2.7 parent: 90323:ff5648697ac7 user: Andrew Kuchling date: Tue Apr 15 16:07:52 2014 -0400 files: Modules/_io/iobase.c description: #15840: make docs consistent by saying operations on closed files raise ValueError. Patch by Caelyn McAulay. Neither Caelyn nor I could find any cases in 2.7 or 3.4/5 where an operation on a closed stream raised IOError; generally the C implementation have a macro to check for the stream being closed, and these macros all raised ValueError. If we find any, a new bug should be opened. diff -r ff5648697ac7 -r 0c7cf0e598e7 Modules/_io/iobase.c --- a/Modules/_io/iobase.c Tue Apr 15 08:01:27 2014 -0700 +++ b/Modules/_io/iobase.c Tue Apr 15 16:07:52 2014 -0400 @@ -41,8 +41,8 @@ "bytes. bytearrays are accepted too, and in some cases (such as\n" "readinto) needed. Text I/O classes work with str data.\n" "\n" - "Note that calling any method (even inquiries) on a closed stream is\n" - "undefined. Implementations may raise IOError in this case.\n" + "Note that calling any method (except additional calls to close(),\n" + "which are ignored) on a closed stream should raise a ValueError.\n" "\n" "IOBase (and its subclasses) support the iterator protocol, meaning\n" "that an IOBase object can be iterated over yielding the lines in a\n"

AltStyle によって変換されたページ (->オリジナル) /