Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014 #include "TGo4DynamicListException.h"
00015
00016 #include "snprintf.h"
00017
00018 #include "TGo4Log.h"
00019 #include "TGo4DynamicEntry.h"
00020
00021 TGo4DynamicListException & TGo4DynamicListException::operator= (const TGo4DynamicListException & right)
00022 {
00023 GO4TRACE((14,"TGo4DynamicListException:operator=",__LINE__, __FILE__));
00024 if (&right!=this)
00025 {
00026 TGo4RuntimeException::operator=(right);
00027
00028 fxEntry=right.fxEntry;
00029 fxEntryName=right.fxEntryName;
00030 fxEntryClass=right.fxEntryClass;
00031 fxStatusMessage=right.fxStatusMessage;
00032 return *this;
00033 }
00034 else
00035 {
00036
00037 return *this;
00038 }
00039 }
00040
00041 TGo4DynamicListException::TGo4DynamicListException(const TGo4DynamicListException &right)
00042 :TGo4RuntimeException(right)
00043 {
00044 GO4TRACE((14,"TGo4DynamicListException:TGo4DynamicListException(right)", __LINE__, __FILE__)); ;
00045 fxEntry=right.fxEntry;
00046 fxEntryName=right.fxEntryName;
00047 fxEntryClass=right.fxEntryClass;
00048 fxStatusMessage=right.fxStatusMessage;
00049
00050 }
00051
00052 Int_t TGo4DynamicListException::Handle()
00053 {
00054 GO4TRACE((12,"TGo4AnalyisStepException::Handle()", __LINE__, __FILE__));
00055
00056
00057 TGo4Log::Debug("%s \n Entry %s:%s, %s\n \t--Entry was disabled.",
00058 What(),GetEntryClass(), GetEntryName(),GetStatusMessage());
00059 if(fxEntry)
00060 fxEntry->EnableProcessing(kFALSE);
00061 return 0;
00062 }
00063 TGo4DynamicListException::~TGo4DynamicListException()
00064 {
00065 GO4TRACE((14,"TGo4DynamicListException:~TGo4DynamicListException", __LINE__, __FILE__));
00066
00067 }
00068 TGo4DynamicListException::TGo4DynamicListException (TGo4DynamicEntry* entry, const char* message,...)
00069 : fxEntry(0)
00070 {
00071 GO4TRACE((14,"TGo4DynamicListException:TGo4DynamicListException (TGo4DynamicEntry*,..)", __LINE__, __FILE__));
00072 fxDescription= "!!!-- Go4 Dynamic List Exception --!!!";
00073 if(entry)
00074 {
00075 fxEntry=entry;
00076 fxEntryName=fxEntry->GetName();
00077 fxEntryClass=fxEntry->ClassName();
00078
00079 }
00080 UInt_t lbuflen=256;
00081 char txtbuf[256];
00082 va_list args;
00083 va_start(args, message);
00084 vsnprintf(txtbuf, lbuflen, message, args);
00085 va_end(args);
00086 fxStatusMessage=txtbuf;
00087 }