@@ -936,11 +936,18 @@ class SystemExit(BaseException):
936
936
code = 0
937
937
class Exception (BaseException ): ...
938
938
class ArithmeticError (Exception ): ...
939
- class EnvironmentError (Exception ):
939
+ class OSError (Exception ):
940
940
errno = 0
941
941
strerror = ... # type: str
942
- # TODO can this be bytes?
943
- filename = ... # type: str
942
+ # filename, filename2 are actually Union[str, bytes, None]
943
+ filename = ... # type: Any
944
+ if sys .version_info >= (3 , 4 ):
945
+ filename2 = ... # type: Any
946
+ if sys .platform == 'win32' :
947
+ winerror = 0
948
+ IOError = OSError
949
+ EnvironmentError = OSError
950
+ WindowsError = OSError
944
951
class LookupError (Exception ): ...
945
952
class RuntimeError (Exception ): ...
946
953
class ValueError (Exception ): ...
@@ -949,7 +956,6 @@ class AttributeError(Exception): ...
949
956
class BufferError (Exception ): ...
950
957
class EOFError (Exception ): ...
951
958
class FloatingPointError (ArithmeticError ): ...
952
- class IOError (EnvironmentError ): ...
953
959
class ImportError (Exception ):
954
960
if sys .version_info >= (3 , 3 ):
955
961
name = ... # type: str
@@ -961,7 +967,6 @@ class KeyError(LookupError): ...
961
967
class MemoryError (Exception ): ...
962
968
class NameError (Exception ): ...
963
969
class NotImplementedError (RuntimeError ): ...
964
- class OSError (EnvironmentError ): ...
965
970
class BlockingIOError (OSError ):
966
971
characters_written = 0
967
972
class ChildProcessError (OSError ): ...
@@ -978,8 +983,6 @@ class NotADirectoryError(OSError): ...
978
983
class PermissionError (OSError ): ...
979
984
class ProcessLookupError (OSError ): ...
980
985
class TimeoutError (OSError ): ...
981
- class WindowsError (OSError ):
982
- winerror = ... # type: int
983
986
class OverflowError (ArithmeticError ): ...
984
987
class ReferenceError (Exception ): ...
985
988
class StopIteration (Exception ):
0 commit comments