more verbose error messages

This commit is contained in:
David Rose 2010-03-01 19:06:12 +00:00
parent 6db963dfa6
commit e68e597b6a

View File

@ -46,7 +46,8 @@ class file:
# We can also "open" a VirtualFile object for reading.
self.__stream = filename.openReadFile(autoUnwrap)
if not self.__stream:
raise IOError
message = 'Could not read virtual file %s' % (repr(filename))
raise IOError, message
self.__needsVfsClose = True
readMode = True
@ -92,35 +93,41 @@ class file:
if mode == 'w':
self.__stream = pm.OFileStream()
if not filename.openWrite(self.__stream, True):
raise IOError
message = 'Could not open %s for writing' % (filename)
raise IOError, message
writeMode = True
elif mode == 'a':
self.__stream = pm.OFileStream()
if not filename.openAppend(self.__stream):
raise IOError
message = 'Could not open %s for writing' % (filename)
raise IOError, message
writeMode = True
elif mode == 'w+':
self.__stream = pm.FileStream()
if not filename.openReadWrite(self.__stream, True):
raise IOError
message = 'Could not open %s for writing' % (filename)
raise IOError, message
readMode = True
writeMode = True
elif mode == 'a+':
self.__stream = pm.FileStream()
if not filename.openReadAppend(self.__stream):
raise IOError
message = 'Could not open %s for writing' % (filename)
raise IOError, message
readMode = True
writeMode = True
elif mode == 'r+':
self.__stream = pm.FileStream()
if not filename.exists():
raise IOError
message = 'No such file: %s' % (filename)
raise IOError, message
if not filename.openReadWrite(self.__stream, False):
raise IOError
message = 'Could not open %s for writing' % (filename)
raise IOError, message
readMode = True
writeMode = True
@ -130,7 +137,11 @@ class file:
self.__stream = _vfs.openReadFile(filename, autoUnwrap)
if not self.__stream:
raise IOError
if not filename.exists():
message = 'No such file: %s' % (filename)
else:
message = 'Could not open %s for reading' % (filename)
raise IOError, message
self.__needsVfsClose = True
readMode = True
@ -170,7 +181,8 @@ class file:
# The stream is not even open at all.
raise ValueError
# The stream is open only in write mode.
raise IOError
message = 'Attempt to read from write-only stream'
raise IOError, message
self.__lastWrite = False
if size >= 0:
@ -188,7 +200,8 @@ class file:
# The stream is not even open at all.
raise ValueError
# The stream is open only in write mode.
raise IOError
message = 'Attempt to read from write-only stream'
raise IOError, message
self.__lastWrite = False
return self.__reader.readline()
@ -229,7 +242,8 @@ class file:
# The stream is not even open at all.
raise ValueError
# The stream is open only in read mode.
raise IOError
message = 'Attempt to write to read-only stream'
raise IOError, message
self.__writer.appendData(str)
self.__lastWrite = True
@ -239,7 +253,8 @@ class file:
# The stream is not even open at all.
raise ValueError
# The stream is open only in read mode.
raise IOError
message = 'Attempt to write to read-only stream'
raise IOError, message
for line in lines:
self.__writer.appendData(line)
self.__lastWrite = True