functexcept.h revision 132720
197403Sobrien// Function-Based Exception Support -*- C++ -*- 297403Sobrien 397403Sobrien// Copyright (C) 2001 Free Software Foundation, Inc. 497403Sobrien// 597403Sobrien// This file is part of the GNU ISO C++ Library. This library is free 697403Sobrien// software; you can redistribute it and/or modify it under the 797403Sobrien// terms of the GNU General Public License as published by the 897403Sobrien// Free Software Foundation; either version 2, or (at your option) 997403Sobrien// any later version. 1097403Sobrien 1197403Sobrien// This library is distributed in the hope that it will be useful, 1297403Sobrien// but WITHOUT ANY WARRANTY; without even the implied warranty of 1397403Sobrien// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 1497403Sobrien// GNU General Public License for more details. 1597403Sobrien 1697403Sobrien// You should have received a copy of the GNU General Public License along 1797403Sobrien// with this library; see the file COPYING. If not, write to the Free 1897403Sobrien// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, 1997403Sobrien// USA. 2097403Sobrien 2197403Sobrien// As a special exception, you may use this file as part of a free software 2297403Sobrien// library without restriction. Specifically, if other files instantiate 2397403Sobrien// templates or use macros or inline functions from this file, or you compile 2497403Sobrien// this file and link it with other files to produce an executable, this 2597403Sobrien// file does not by itself cause the resulting executable to be covered by 2697403Sobrien// the GNU General Public License. This exception does not however 2797403Sobrien// invalidate any other reasons why the executable file might be covered by 2897403Sobrien// the GNU General Public License. 2997403Sobrien 3097403Sobrien// 3197403Sobrien// ISO C++ 14882: 19.1 Exception classes 3297403Sobrien// 3397403Sobrien 3497403Sobrien#include <exception_defines.h> 3597403Sobrien 3697403Sobriennamespace std 3797403Sobrien{ 38132720Skan // Helper for exception objects in <except> 3997403Sobrien void 4097403Sobrien __throw_bad_exception(void); 4197403Sobrien 42132720Skan // Helper for exception objects in <new> 4397403Sobrien void 4497403Sobrien __throw_bad_alloc(void); 4597403Sobrien 46132720Skan // Helper for exception objects in <typeinfo> 4797403Sobrien void 4897403Sobrien __throw_bad_cast(void); 4997403Sobrien 5097403Sobrien void 5197403Sobrien __throw_bad_typeid(void); 5297403Sobrien 53132720Skan // Helpers for exception objects in <stdexcept> 5497403Sobrien void 5597403Sobrien __throw_logic_error(const char* __s); 5697403Sobrien 5797403Sobrien void 5897403Sobrien __throw_domain_error(const char* __s); 5997403Sobrien 6097403Sobrien void 6197403Sobrien __throw_invalid_argument(const char* __s); 6297403Sobrien 6397403Sobrien void 6497403Sobrien __throw_length_error(const char* __s); 6597403Sobrien 6697403Sobrien void 6797403Sobrien __throw_out_of_range(const char* __s); 6897403Sobrien 6997403Sobrien void 7097403Sobrien __throw_runtime_error(const char* __s); 7197403Sobrien 7297403Sobrien void 7397403Sobrien __throw_range_error(const char* __s); 7497403Sobrien 7597403Sobrien void 7697403Sobrien __throw_overflow_error(const char* __s); 7797403Sobrien 7897403Sobrien void 7997403Sobrien __throw_underflow_error(const char* __s); 8097403Sobrien 8197403Sobrien // Helpers for exception objects in basic_ios 8297403Sobrien void 8397403Sobrien __throw_ios_failure(const char* __s); 8497403Sobrien} // namespace std 8597403Sobrien 86