2001-10-06 14:13:28 +00:00
|
|
|
#ifndef XIO_H
|
|
|
|
#define XIO_H
|
|
|
|
|
|
|
|
#include "XBase.h"
|
|
|
|
|
2002-07-28 17:25:13 +00:00
|
|
|
//! Generic I/O exception
|
2001-10-06 14:13:28 +00:00
|
|
|
class XIO : public XBase { };
|
|
|
|
|
2002-07-28 17:25:13 +00:00
|
|
|
//! Generic I/O exception using \c errno
|
2001-10-06 14:13:28 +00:00
|
|
|
class XIOErrno : public XIO, public MXErrno {
|
2002-04-29 14:40:01 +00:00
|
|
|
public:
|
2001-10-06 14:13:28 +00:00
|
|
|
XIOErrno();
|
|
|
|
XIOErrno(int);
|
|
|
|
};
|
|
|
|
|
2002-07-28 17:25:13 +00:00
|
|
|
//! I/O closing exception
|
|
|
|
/*!
|
|
|
|
Thrown if a stream cannot be closed.
|
|
|
|
*/
|
2001-10-06 14:13:28 +00:00
|
|
|
class XIOClose: public XIOErrno {
|
2002-04-29 14:40:01 +00:00
|
|
|
protected:
|
2001-10-06 14:13:28 +00:00
|
|
|
// XBase overrides
|
|
|
|
virtual CString getWhat() const throw();
|
|
|
|
};
|
|
|
|
|
2002-07-28 17:25:13 +00:00
|
|
|
//! I/O already closed exception
|
|
|
|
/*!
|
|
|
|
Thrown when attempting to close or perform I/O on an already closed.
|
|
|
|
stream.
|
|
|
|
*/
|
2001-10-06 14:13:28 +00:00
|
|
|
class XIOClosed : public XIO {
|
2002-04-29 14:40:01 +00:00
|
|
|
protected:
|
2001-10-06 14:13:28 +00:00
|
|
|
// XBase overrides
|
|
|
|
virtual CString getWhat() const throw();
|
|
|
|
};
|
|
|
|
|
2002-07-28 17:25:13 +00:00
|
|
|
//! I/O end of stream exception
|
|
|
|
/*!
|
|
|
|
Thrown when attempting to read beyond the end of a stream.
|
|
|
|
*/
|
2001-10-06 14:13:28 +00:00
|
|
|
class XIOEndOfStream : public XIO {
|
2002-04-29 14:40:01 +00:00
|
|
|
protected:
|
2001-10-06 14:13:28 +00:00
|
|
|
// XBase overrides
|
|
|
|
virtual CString getWhat() const throw();
|
|
|
|
};
|
|
|
|
|
|
|
|
#endif
|