blob: 9954146bf4cbf25ba8ae1c6b24ed2a6ebebf397f [file] [log] [blame]
// Exception Handling support header for -*- C++ -*-
// Copyright (C) 1995, 1996 Free Software Foundation
#ifndef __EXCEPTION__
#define __EXCEPTION__
#pragma interface "exception"
extern "C++" {
#ifdef __HONOR_STD
namespace std {
#endif
class exception {
public:
exception () { }
virtual ~exception () { }
virtual const char* what () const;
};
class bad_exception : public exception {
public:
bad_exception () { }
virtual ~bad_exception () { }
};
typedef void (*terminate_handler) ();
typedef void (*unexpected_handler) ();
terminate_handler set_terminate (terminate_handler);
void terminate () __attribute__ ((__noreturn__));
unexpected_handler set_unexpected (unexpected_handler);
void unexpected () __attribute__ ((__noreturn__));
bool uncaught_exception ();
#ifdef __HONOR_STD
} // namespace std
#endif
} // extern "C++"
#endif