/[escript]/trunk/escript/src/DomainException.h
ViewVC logotype

Diff of /trunk/escript/src/DomainException.h

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 615 by elspeth, Wed Mar 22 02:12:00 2006 UTC revision 1811 by ksteube, Thu Sep 25 23:11:13 2008 UTC
# Line 1  Line 1 
1  /*  
2   ************************************************************  /*******************************************************
3   *          Copyright 2006 by ACcESS MNRF                   *  *
4   *                                                          *  * Copyright (c) 2003-2008 by University of Queensland
5   *              http://www.access.edu.au                    *  * Earth Systems Science Computational Center (ESSCC)
6   *       Primary Business: Queensland, Australia            *  * http://www.uq.edu.au/esscc
7   *  Licensed under the Open Software License version 3.0    *  *
8   *     http://www.opensource.org/licenses/osl-3.0.php       *  * Primary Business: Queensland, Australia
9   *                                                          *  * Licensed under the Open Software License version 3.0
10   ************************************************************  * http://www.opensource.org/licenses/osl-3.0.php
11  */  *
12    *******************************************************/
13    
14    
15  #if !defined  escript_DomainException_20040608_H  #if !defined  escript_DomainException_20040608_H
16  #define escript_DomainException_20040608_H  #define escript_DomainException_20040608_H
17    #include "system_dep.h"
18    
19  #include "EsysException.h"  #include "esysUtils/EsysException.h"
20    
21  #include <string>  namespace escript
22    {
23    
24  namespace escript {    /**
25      \brief
26      DomainException exception class.
27    
28  /**    Description:
29     \brief    DomainException exception class.
30     DomainException exception class.    The class provides a public function returning the exception name
31      */
32      class DomainException : public esysUtils::EsysException
33      {
34    
35     Description:    protected:
    DomainException exception class.  
    The class provides a public function returning the exception name  
 */  
 class DomainException:public esysUtils::EsysException {  
36    
37   public:      typedef EsysException Parent;
38    /**  
39       \brief    public:
40       Default constructor for the exception.      /**
41    */      \brief
42    DomainException() : EsysException() {}      Default constructor for the exception.
43    /**      */
44       \brief      ESCRIPT_DLL_API
45       Constructor for the exception.      DomainException() : Parent() { updateMessage();}
46    */      /**
47    DomainException(const char *cstr) : EsysException(cstr) {}      \brief
48    /**      Constructor for the exception.
49       \brief      */
50       Constructor for the exception.      ESCRIPT_DLL_API
51    */      DomainException(const char *cstr) : Parent(cstr) { updateMessage();}
52    DomainException(const std::string &str) : EsysException(str) {}      /**
53    /**      \brief
54       \brief      Constructor for the exception.
55       Returns the name of the exception.      */
56    */      ESCRIPT_DLL_API
57    virtual std::string exceptionName() const {return "DomainException";}      DomainException(const std::string &str) : Parent(str) { updateMessage();}
58  };      /**
59        \brief
60        Copy Constructor for the exception.
61        */
62        ESCRIPT_DLL_API
63        DomainException(const DomainException &other) : Parent(other)
64          {
65            updateMessage();
66          }
67    
68        ESCRIPT_DLL_API
69        inline virtual DomainException &
70        operator=(const DomainException &other ) THROW_ANY
71           {
72             Parent::operator=(other);
73             updateMessage();
74             return *this;
75           }
76    
77        /// Destructor
78        ESCRIPT_DLL_API
79        virtual ~DomainException() THROW_ANY {}
80        /**
81        \brief
82        Returns the name of the exception.
83        */
84        ESCRIPT_DLL_API
85        virtual const std::string & exceptionName() const;
86    
87      private:
88    
89        //
90        // the exception name is immutable and class-wide.
91        // Inheritor note; you need one of these too.
92        // and an overloaded exceptionName() in your .cpp implementation file.
93        static const std::string exceptionNameValue;
94      };
95    
96  } // end of namespace  } // end of namespace
97  #endif  #endif

Legend:
Removed from v.615  
changed lines
  Added in v.1811

  ViewVC Help
Powered by ViewVC 1.1.26