CARMA C++
exceptionHandlersWatchdog.h
1 #ifndef CARMA_UTIL_EXCEPTION_HANDLERS_WATCHDOG_H
2 #define CARMA_UTIL_EXCEPTION_HANDLERS_WATCHDOG_H
3 
4 
5 namespace carma {
6 namespace util {
7 
8 
9 void startExceptionHandlersWatchdog( );
10 
11 void stopExceptionHandlersWatchdog( );
12 
13 
14 class AutoExceptionHandlersWatchdog {
15  public:
16  AutoExceptionHandlersWatchdog( );
17 
18  ~AutoExceptionHandlersWatchdog( );
19 };
20 
21 
22 } // namespace carma::util
23 } // namespace carma
24 
25 
26 inline
27 carma::util::AutoExceptionHandlersWatchdog::AutoExceptionHandlersWatchdog( )
28 {
29  startExceptionHandlersWatchdog( );
30 }
31 
32 
33 inline
34 carma::util::AutoExceptionHandlersWatchdog::~AutoExceptionHandlersWatchdog( )
35 try {
36  stopExceptionHandlersWatchdog( );
37 } catch ( ... ) {
38  // Just stifle any exception
39 
40  return;
41 }
42 
43 
44 #endif