175 lines
4.2 KiB
C++
175 lines
4.2 KiB
C++
// -*- C++ -*-
|
|
/***************************************************************************
|
|
*
|
|
* <stdexcept> - definitions of the exception classes
|
|
*
|
|
* $Id: stdexcept 580483 2007-09-28 20:55:52Z sebor $
|
|
*
|
|
***************************************************************************
|
|
*
|
|
* Licensed to the Apache Software Foundation (ASF) under one or more
|
|
* contributor license agreements. See the NOTICE file distributed
|
|
* with this work for additional information regarding copyright
|
|
* ownership. The ASF licenses this file to you under the Apache
|
|
* License, Version 2.0 (the "License"); you may not use this file
|
|
* except in compliance with the License. You may obtain a copy of
|
|
* the License at
|
|
*
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
|
*
|
|
* Unless required by applicable law or agreed to in writing, software
|
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
|
* implied. See the License for the specific language governing
|
|
* permissions and limitations under the License.
|
|
*
|
|
* Copyright 1994-2006 Rogue Wave Software.
|
|
*
|
|
**************************************************************************/
|
|
|
|
#ifndef _RWSTD_STDEXCEPT_INCLUDED
|
|
#define _RWSTD_STDEXCEPT_INCLUDED
|
|
|
|
|
|
#include <rw/_exception.h> // for __rw_exception and string
|
|
#include <rw/_defs.h>
|
|
|
|
|
|
_RWSTD_NAMESPACE (std) {
|
|
|
|
|
|
// classes below are _RWSTD_EXPORT'ed to prevent
|
|
// MSVC warnings issued when they are derived from
|
|
|
|
|
|
// 19.1.1
|
|
struct _RWSTD_EXPORT logic_error: _RW::__rw_exception
|
|
{
|
|
_EXPLICIT logic_error (const string& __str)
|
|
: _RW::__rw_exception (__str) { }
|
|
|
|
// extension
|
|
_EXPLICIT logic_error (const char *__s = 0)
|
|
: _RW::__rw_exception (__s) { }
|
|
|
|
virtual ~logic_error () _THROWS (());
|
|
};
|
|
|
|
|
|
// 19.1.2
|
|
struct _RWSTD_EXPORT domain_error: logic_error
|
|
{
|
|
_EXPLICIT domain_error (const string &__str)
|
|
: logic_error (__str) { }
|
|
|
|
// extension
|
|
_EXPLICIT domain_error (const char *__s = 0)
|
|
: logic_error (__s) { }
|
|
|
|
virtual ~domain_error () _THROWS (());
|
|
};
|
|
|
|
|
|
// 19.1.3
|
|
struct _RWSTD_EXPORT invalid_argument: logic_error
|
|
{
|
|
_EXPLICIT invalid_argument (const string &__str)
|
|
: logic_error (__str) { }
|
|
|
|
// extension
|
|
_EXPLICIT invalid_argument (const char *__s = 0)
|
|
: logic_error (__s) { }
|
|
|
|
virtual ~invalid_argument () _THROWS (());
|
|
};
|
|
|
|
|
|
// 19.1.4
|
|
struct _RWSTD_EXPORT length_error: logic_error
|
|
{
|
|
_EXPLICIT length_error (const string &__str)
|
|
: logic_error (__str) { }
|
|
|
|
// extension
|
|
_EXPLICIT length_error (const char *__s = 0)
|
|
: logic_error (__s) { }
|
|
|
|
virtual ~length_error () _THROWS (());
|
|
};
|
|
|
|
|
|
// 19.1.5
|
|
struct _RWSTD_EXPORT out_of_range: logic_error
|
|
{
|
|
_EXPLICIT out_of_range (const string &__str)
|
|
: logic_error (__str) { }
|
|
|
|
// extension
|
|
_EXPLICIT out_of_range (const char *__s = 0)
|
|
: logic_error (__s) { }
|
|
|
|
virtual ~out_of_range () _THROWS (());
|
|
};
|
|
|
|
|
|
// 19.1.6
|
|
struct _RWSTD_EXPORT runtime_error: _RW::__rw_exception
|
|
{
|
|
_EXPLICIT runtime_error (const string &__str)
|
|
: _RW::__rw_exception (__str) { }
|
|
|
|
// extension
|
|
_EXPLICIT runtime_error (const char *__s = 0)
|
|
: _RW::__rw_exception (__s) { }
|
|
|
|
virtual ~runtime_error () _THROWS (());
|
|
};
|
|
|
|
|
|
// 19.1.7
|
|
struct _RWSTD_EXPORT range_error: runtime_error
|
|
{
|
|
_EXPLICIT range_error (const string &__str)
|
|
: runtime_error (__str) { }
|
|
|
|
// extension
|
|
_EXPLICIT range_error (const char *__s = 0)
|
|
: runtime_error (__s) { }
|
|
|
|
virtual ~range_error () _THROWS (());
|
|
};
|
|
|
|
|
|
// 19.1.8
|
|
struct _RWSTD_EXPORT overflow_error: runtime_error
|
|
{
|
|
_EXPLICIT overflow_error (const string &__str)
|
|
: runtime_error (__str) { }
|
|
|
|
// extension
|
|
_EXPLICIT overflow_error (const char *__s = 0)
|
|
: runtime_error (__s) { }
|
|
|
|
virtual ~overflow_error () _THROWS (());
|
|
};
|
|
|
|
|
|
// 19.1.9
|
|
struct _RWSTD_EXPORT underflow_error: runtime_error
|
|
{
|
|
_EXPLICIT underflow_error (const string &__str)
|
|
: runtime_error (__str) { }
|
|
|
|
// extension
|
|
_EXPLICIT underflow_error (const char *__s = 0)
|
|
: runtime_error (__s) { }
|
|
|
|
virtual ~underflow_error () _THROWS (());
|
|
};
|
|
|
|
|
|
} // namespace std
|
|
|
|
|
|
#endif // _RWSTD_STDEXCEPT_INCLUDED
|