You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
67 lines
1.6 KiB
67 lines
1.6 KiB
/*
|
|
* C++ Library file exception
|
|
* Copyright 2001 ARM Limited. All rights reserved.
|
|
*/
|
|
|
|
/*
|
|
* RCS $Revision: 177844 $
|
|
* Checkin $Date: 2012-11-21 11:51:12 +0000 (Wed, 21 Nov 2012) $
|
|
* Revising $Author: pwright $
|
|
*/
|
|
|
|
#ifndef __EXCEPTION_INCLUDED
|
|
#define __EXCEPTION_INCLUDED
|
|
#define __ARMCLIB_VERSION 5050106
|
|
|
|
/* Edison Design Group, 1995-2005. */
|
|
/*
|
|
exception -- Include file for exception handling (see 18.6)
|
|
*/
|
|
|
|
namespace std {
|
|
|
|
/* This lets users disable the EDG supplied exception classes. */
|
|
#ifndef __NO_EDG_EXCEPTION_CLASSES
|
|
|
|
class exception {
|
|
public:
|
|
exception() throw();
|
|
exception(const exception&) throw();
|
|
exception& operator=(const exception&) throw();
|
|
virtual ~exception() throw();
|
|
virtual const char* what() const throw();
|
|
};
|
|
|
|
class bad_exception : public exception {
|
|
public:
|
|
bad_exception() throw();
|
|
bad_exception(const bad_exception&) throw();
|
|
bad_exception& operator=(const bad_exception&) throw();
|
|
virtual ~bad_exception() throw();
|
|
virtual const char* what() const throw();
|
|
};
|
|
|
|
#endif /* ifndef __NO_EDG_EXCEPTION_CLASSES */
|
|
|
|
typedef void (*terminate_handler)();
|
|
extern terminate_handler set_terminate(terminate_handler) throw();
|
|
|
|
typedef void (*unexpected_handler)();
|
|
extern unexpected_handler set_unexpected(unexpected_handler) throw();
|
|
|
|
void terminate();
|
|
void unexpected();
|
|
|
|
extern bool uncaught_exception() throw();
|
|
|
|
} /* namespace std */
|
|
|
|
#ifdef __EDG_IMPLICIT_USING_STD
|
|
/* Implicitly include a using directive for the STD namespace when this
|
|
preprocessing flag is TRUE. */
|
|
using namespace ::std;
|
|
#endif /* ifdef __EDG_IMPLICIT_USING_STD */
|
|
|
|
#endif /* __EXCEPTION_INCLUDED */
|
|
|