Main Page | Namespace List | Class Hierarchy | Class List | File List | Namespace Members | Class Members | Related Pages

Exceptions.h

00001 #ifndef Exceptions_h
00002 #define Exceptions_h 1
00003 
00004 #include "lcio.h"
00005 #include "Processor.h" 
00006 
00007 // define some exceptions for Marlin
00008 
00009 namespace marlin{
00010 
00016   class ParseException : public lcio::Exception{
00017     
00018   protected:
00019     ParseException() {  /*no_op*/ ; } 
00020   public: 
00021     virtual ~ParseException() throw() { /*no_op*/; } 
00022 
00023     ParseException( std::string text ){
00024       message = "marlin::ParseException: " + text ;
00025     }
00026   }; 
00027 
00028 //    class Processor ;
00029 
00034   class SkipEventException : public lcio::Exception{
00035 
00036   protected:
00037     SkipEventException() {  /*no_op*/ ; } 
00038 
00039   public: 
00040     SkipEventException(Processor* proc){
00041       message = proc->name()  ;
00042     }
00043     virtual ~SkipEventException() throw() { /*no_op*/; } 
00044 
00045   }; 
00046 
00052   class StopProcessingException : public lcio::Exception{
00053 
00054   protected:
00055     StopProcessingException() {  /*no_op*/ ; } 
00056 
00057   public: 
00058     StopProcessingException(Processor* proc){
00059       message = proc->name()  ;
00060     }
00061     virtual ~StopProcessingException() throw() { /*no_op*/; } 
00062 
00063   }; 
00064 
00070   class RewindDataFilesException : public lcio::Exception{
00071 
00072   protected:
00073     RewindDataFilesException() {  /*no_op*/ ; } 
00074 
00075   public: 
00076     RewindDataFilesException(Processor* proc){
00077       message = proc->name()  ;
00078     }
00079     virtual ~RewindDataFilesException() throw() { /*no_op*/; } 
00080 
00081   }; 
00082 
00083     
00084 
00085 } // end namespace 
00086 
00087 #endif
00088 
00089 
00090 

Generated on Mon Jan 12 09:48:50 2009 for Marlin by doxygen 1.3.5