GSI Object Oriented Online Offline (Go4)  GO4-6.3.0
TGo4TerminateException.cxx
Go to the documentation of this file.
1 // $Id$
2 //-----------------------------------------------------------------------
3 // The GSI Online Offline Object Oriented (Go4) Project
4 // Experiment Data Processing at EE department, GSI
5 //-----------------------------------------------------------------------
6 // Copyright (C) 2000- GSI Helmholtzzentrum fuer Schwerionenforschung GmbH
7 // Planckstr. 1, 64291 Darmstadt, Germany
8 // Contact: http://go4.gsi.de
9 //-----------------------------------------------------------------------
10 // This software can be used under the license agreements as stated
11 // in Go4License.txt file which is part of the distribution.
12 //-----------------------------------------------------------------------
13 
14 #include "TGo4TerminateException.h"
15 
16 #include "TThread.h"
17 
18 #include "TGo4Log.h"
19 #include "TGo4ThreadManager.h"
20 #include "TGo4Runnable.h"
21 
23 {
24  GO4TRACE((14,"TGo4TerminateException::TGo4TerminateException (TGo4Runnable *)", __LINE__, __FILE__));
25  fxDescription= "!!!-- Go4 Terminate Exception --!!!";
27 }
28 
30 {
31  GO4TRACE((14,"TGo4TerminateException::TGo4TerminateException(TGo4ThreadManager *)", __LINE__, __FILE__));
32  fxDescription= "!!!-- Go4 Terminate Exception --!!!";
33  fxThreadManager=man;
34 }
35 
37  :TGo4ControlException(right)
38 {
39  GO4TRACE((14,"TGo4TerminateException::TGo4TerminateException (const TGo4TerminateException &)", __LINE__, __FILE__));
41 }
42 
44 {
45  GO4TRACE((14, "TGo4TerminateException::operator=(const TGo4TerminateException*)", __LINE__, __FILE__));
46  if (&right != this) {
47  TGo4ControlException::operator=(right); // copy base class members
49  }
50  return *this;
51 }
52 
54 {
55  GO4TRACE((14,"TGo4TerminateException::~TGo4TerminateException()", __LINE__, __FILE__));
56 
57 }
58 
60 {
61  GO4TRACE((12,"TGo4TaskHandlerAbortException::Handle()", __LINE__, __FILE__));
62 
63  TGo4Log::Debug("\n Terminate Exception default Handle: Terminating Thread Manager %s ... \n",
64  fxThreadManager->GetName());
66  TThread::CancelPoint();
67  return 0;
68 }
TGo4ThreadManager * fxThreadManager
TGo4ThreadManager * GetThreadManager() const
Definition: TGo4Runnable.h:46
static void Debug(const char *text,...) GO4_PRINTF_ARGS
Definition: TGo4Log.cxx:281
TGo4TerminateException & operator=(const TGo4TerminateException &right)
#define GO4TRACE(X)
Definition: TGo4Log.h:25
TGo4ControlException & operator=(const TGo4ControlException &right)
TGo4TerminateException()=delete
TString fxDescription
Definition: TGo4Exception.h:38
virtual void Terminate(Bool_t termapp=kTRUE)