windows-nt/Source/XPSP1/NT/base/crts/libw32/inc64/stdexcept
2020-09-26 16:20:57 +08:00

129 lines
2.7 KiB
Plaintext

// stdexcept standard header
#ifndef _STDEXCEPT_
#define _STDEXCEPT_
#include <exception>
#include <xstring>
#ifdef _MSC_VER
#pragma pack(push,8)
#endif /* _MSC_VER */
_STD_BEGIN
// CLASS logic_error
class _CRTIMP logic_error : public exception {
public:
explicit logic_error(const string& _S)
: exception(""), _Str(_S) {}
virtual ~logic_error()
{}
virtual const char *what() const
{return (_Str.c_str()); }
protected:
virtual void _Doraise() const
{_RAISE(*this); }
private:
string _Str;
};
// CLASS domain_error
class _CRTIMP domain_error : public logic_error {
public:
explicit domain_error(const string& _S)
: logic_error(_S) {}
virtual ~domain_error()
{}
protected:
virtual void _Doraise() const
{_RAISE(*this); }
};
// CLASS invalid_argument
class invalid_argument : public logic_error {
public:
explicit invalid_argument(const string& _S)
: logic_error(_S) {}
virtual ~invalid_argument()
{}
protected:
virtual void _Doraise() const
{_RAISE(*this); }
};
// CLASS length_error
class _CRTIMP length_error : public logic_error {
public:
explicit length_error(const string& _S)
: logic_error(_S) {}
virtual ~length_error()
{}
protected:
virtual void _Doraise() const
{_RAISE(*this); }
};
// CLASS out_of_range
class _CRTIMP out_of_range : public logic_error {
public:
explicit out_of_range(const string& _S)
: logic_error(_S) {}
virtual ~out_of_range()
{}
protected:
virtual void _Doraise() const
{_RAISE(*this); }
};
// CLASS runtime_error
class _CRTIMP runtime_error : public exception {
public:
explicit runtime_error(const string& _S)
: exception(""), _Str(_S) {}
virtual ~runtime_error()
{}
virtual const char *what() const
{return (_Str.c_str()); }
protected:
virtual void _Doraise() const
{_RAISE(*this); }
private:
string _Str;
};
// CLASS overflow_error
class _CRTIMP overflow_error : public runtime_error {
public:
explicit overflow_error(const string& _S)
: runtime_error(_S) {}
virtual ~overflow_error()
{}
protected:
virtual void _Doraise() const
{_RAISE(*this); }
};
// CLASS underflow_error
class _CRTIMP underflow_error : public runtime_error {
public:
explicit underflow_error(const string& _S)
: runtime_error(_S) {}
virtual ~underflow_error()
{}
protected:
virtual void _Doraise() const
{_RAISE(*this); }
};
// CLASS range_error
class _CRTIMP range_error : public runtime_error {
public:
explicit range_error(const string& _S)
: runtime_error(_S) {}
virtual ~range_error()
{}
protected:
virtual void _Doraise() const
{_RAISE(*this); }
};
_STD_END
#ifdef _MSC_VER
#pragma pack(pop)
#endif /* _MSC_VER */
#endif /* _STDEXCEPT_ */
/*
* Copyright (c) 1994 by P.J. Plauger. ALL RIGHTS RESERVED.
* Consult your license regarding permissions and restrictions.
*/