#include <wverror.h>
It can have either a system error value, like those defined in errno.h, or an arbitrary error string. In either case, it can return a string representation of the error message.
This object is most useful for using as a base class of your own class, for historical/backwards compatibility reasons. Consider using a WvError instead, and making it a member of your class instead of a parent.
Definition at line 23 of file wverror.h.
Public Member Functions | |
WvErrorBase () | |
virtual | ~WvErrorBase () |
virtual bool | isok () const |
By default, returns true if geterr() == 0. | |
virtual int | geterr () const |
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. | |
virtual WvString | errstr () const |
virtual void | seterr (int _errnum) |
Set the errnum variable -- we have an error. | |
void | seterr (WvStringParm specialerr) |
void | seterr (WVSTRING_FORMAT_DECL) |
void | seterr_both (int _errnum, WvStringParm specialerr) |
void | seterr (const WvErrorBase &err) |
void | noerr () |
Reset our error state - there's no error condition anymore. | |
Static Public Member Functions | |
static WvString | strerror (int errnum) |
A replacement for the operating system strerror() function that can map more kinds of error strings (especially in win32). | |
Protected Attributes | |
int | errnum |
WvString | errstring |
virtual bool WvErrorBase::isok | ( | ) | const [inline, virtual] |
By default, returns true if geterr() == 0.
Might be overridden so that isok() == false even though no error code has been specified.
Reimplemented in IWvStream, WvBufStream, WvDSAKey, WvDsp, WvEncoderStream, WvFdStream, WvHTTPStream, WvIStreamList, WvLog, WvRSAKey, WvSSLStream, WvStream, WvStreamClone, WvTCPConn, WvTimeoutStream, WvTimeStream, WvFileWatcher, WvX509Mgr, WvReadLineStream, and _WvConStream.
Definition at line 39 of file wverror.h.
References errnum.
Referenced by WvX509Mgr::isok(), WvStream::isok(), WvCRLMgr::isok(), WvGlob::set(), and WvGlobDirIter::WvGlobDirIter().
virtual int WvErrorBase::geterr | ( | ) | const [inline, virtual] |
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 WvHTTPStream, WvStreamClone, and WvX509Mgr.
Definition at line 48 of file wverror.h.
References errnum.
Referenced by UniIniGen::commit(), WvX509Mgr::errstr(), WvStreamClone::errstr(), errstr(), WvError::get(), UniFileSystemGen::get(), WvX509Mgr::geterr(), WvStreamClone::geterr(), WvEncoderStream::isok(), WvConf::load_file(), WvLockDev::lock(), WvHTTPStream::pre_select(), UniIniGen::refresh(), WvConf::save(), WvStream::seterr(), seterr(), WvMagicCircle::WvMagicCircle(), and WvHttpPool::~WvHttpPool().
void WvErrorBase::seterr | ( | int | _errnum | ) | [virtual] |
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.
References errstring.
Referenced by WvX509Mgr::certreq(), WvX509Mgr::create_selfsigned(), WvX509Mgr::decode(), WvCRLMgr::decode(), WvX509Mgr::encode(), WvCRLMgr::encode(), WvRSAKey::getpem(), WvDSAKey::getpem(), WvX509Mgr::read_p12(), WvGlob::set(), WvError::set(), WvX509Mgr::set_pubkey(), WvStream::seterr(), seterr(), seterr_both(), WvX509Mgr::sign(), WvX509Mgr::signedbyCAinfile(), WvX509Mgr::test(), WvX509Mgr::unhexify(), WvX509Mgr::validate(), WvX509Mgr::verify(), WvX509Mgr::write_p12(), WvCRLMgr::WvCRLMgr(), WvDSAKey::WvDSAKey(), WvMagicCircle::WvMagicCircle(), WvPam::WvPam(), WvRSAKey::WvRSAKey(), WvShmZone::WvShmZone(), and WvX509Mgr::WvX509Mgr().
void WvErrorBase::noerr | ( | ) | [inline] |
Reset our error state - there's no error condition anymore.
Definition at line 76 of file wverror.h.
References errnum, errstring, and WvFastString::null.
Referenced by WvFile::open(), WvError::reset(), WvCRLMgr::WvCRLMgr(), and WvErrorBase().