40 lines
808 B
Plaintext
40 lines
808 B
Plaintext
|
// Exception Handling support header for -*- C++ -*-
|
||
|
// Copyright (C) 1995, 96-97, 1998 Free Software Foundation
|
||
|
|
||
|
#ifndef __EXCEPTION__
|
||
|
#define __EXCEPTION__
|
||
|
|
||
|
#pragma interface "exception"
|
||
|
|
||
|
extern "C++" {
|
||
|
|
||
|
namespace std {
|
||
|
|
||
|
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 ();
|
||
|
|
||
|
} // namespace std
|
||
|
|
||
|
} // extern "C++"
|
||
|
|
||
|
#endif
|