diff options
Diffstat (limited to '9/sources/cxx-stl/EH/gabi++/include/exception')
-rw-r--r-- | 9/sources/cxx-stl/EH/gabi++/include/exception | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/9/sources/cxx-stl/EH/gabi++/include/exception b/9/sources/cxx-stl/EH/gabi++/include/exception new file mode 100644 index 0000000..d4019ce --- /dev/null +++ b/9/sources/cxx-stl/EH/gabi++/include/exception @@ -0,0 +1,65 @@ +// Copyright (C) 2011 The Android Open Source Project +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. Neither the name of the project nor the names of its contributors +// may be used to endorse or promote products derived from this software +// without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE PROJECT AND CONTRIBUTORS ``AS IS'' AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +// ARE DISCLAIMED. IN NO EVENT SHALL THE PROJECT OR CONTRIBUTORS BE LIABLE +// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +// SUCH DAMAGE. + +#ifndef __GABIXX_EXCEPTION__ +#define __GABIXX_EXCEPTION__ + +#if !defined(GABIXX_LIBCXX) + +namespace std { + + class exception { + public: + exception() throw(); + virtual ~exception() throw(); + virtual const char* what() const throw(); + }; + + class bad_exception : public exception { + public: + bad_exception() throw(); + virtual ~bad_exception() throw(); + virtual const char* what() const throw(); + }; + + typedef void (*terminate_handler)(); + terminate_handler get_terminate(); + terminate_handler set_terminate(terminate_handler f); + void terminate(); + + typedef void (*unexpected_handler)(); + unexpected_handler get_unexpected(); + unexpected_handler set_unexpected(unexpected_handler f); + void unexpected(); + + bool uncaught_exception() throw(); + +} // namespace std + +#endif // !defined(GABIXX_LIBCXX) + +#endif // __GABIXX_EXCEPTION__ |