00001 #ifndef UncatchedException_H 00002 #define UncatchedException_H 00003 // 00004 // 00005 // V 0.0 00006 // 00007 00008 #include "Utilities/General/interface/MutexUtils.h" 00009 #include <iosfwd> 00010 namespace cms { 00011 class Exception; 00012 } 00013 00016 class UncatchedException { 00017 public: 00018 00019 UncatchedException(); 00020 explicit UncatchedException(const cms::Exception & err); 00021 static void dump(std::ostream & o, bool det=false); 00022 static void rethrow(); 00023 static int count(); 00024 00025 private: 00026 00027 static cms::Exception * it; 00028 00029 static LockMutex::Mutex mutex; 00030 static int count_; 00031 00032 }; 00033 00034 00035 00036 #endif // UncatchedException_H