A variant of WvErrorBase suitable for embedding as a member of your own object, preferably called 'err'.
It adds some extra convenience functions to remove function name redundancy, so you can say "obj.err.get()" instead of "obj.err.geterr()", for example.
Definition at line 89 of file wverror.h.
virtual bool WvErrorBase::isok |
( |
| ) |
const |
|
inlinevirtualinherited |
By default, returns true if geterr() == 0.
Might be overridden so that isok() == false even though no error code has been specified.
Reimplemented in WvBufStream, WvDBusServer, WvDSAKey, WvEncoderStream, WvFdStream, WvIStreamList, WvListener, WvNullListener, WvLog, WvSSLStream, WvStream, WvStreamClone, WvTCPConn, WvTimeoutStream, WvTimeStream, WvReadLineStream, _WvConStream, and IWvStream.
Definition at line 39 of file wverror.h.
Referenced by WvListener::isok(), WvStream::isok(), and WvGlob::set().
virtual int WvErrorBase::geterr |
( |
| ) |
const |
|
inlinevirtualinherited |
If isok() is false, return the system error number corresponding to the error, -1 for a special error string (which you can obtain with errstr()) or 0 on end of file.
If isok() is true, returns an undefined number.
Reimplemented in WvDBusServer, and WvStreamClone.
Definition at line 48 of file wverror.h.
Referenced by UniIniGen::commit(), UniFileSystemGen::get(), WvDBusServer::geterr(), WvStreamClone::geterr(), WvEncoderStream::isok(), UniConfDaemon::listen(), WvStream::seterr(), and WvMagicCircle::WvMagicCircle().
void WvErrorBase::seterr |
( |
int |
_errnum | ) |
|
|
virtualinherited |
Set the errnum variable – we have an error.
If called more than once, seterr() doesn't change the error code away from the previous one. That way, we remember the original cause of our problems.
Subclasses may want to override seterr(int) to shut themselves down (eg. WvStream::close()) when an error condition is set.
Note that seterr(WvString) will call seterr(-1).
Reimplemented in WvStream.
Definition at line 144 of file wverror.cc.
Referenced by WvTCPListener::accept(), WvUnixListener::accept(), WvDSAKey::getpem(), WvGlob::set(), WvStream::seterr(), WvMagicCircle::WvMagicCircle(), WvPam::WvPam(), WvShmZone::WvShmZone(), and WvTCPListener::WvTCPListener().