CTK  0.1.0
The Common Toolkit is a community effort to provide support code for medical image analysis, surgical navigation, and related projects.
ctkServiceException.h
Go to the documentation of this file.
1 /*=============================================================================
2 
3  Library: CTK
4 
5  Copyright (c) German Cancer Research Center,
6  Division of Medical and Biological Informatics
7 
8  Licensed under the Apache License, Version 2.0 (the "License");
9  you may not use this file except in compliance with the License.
10  You may obtain a copy of the License at
11 
12  http://www.apache.org/licenses/LICENSE-2.0
13 
14  Unless required by applicable law or agreed to in writing, software
15  distributed under the License is distributed on an "AS IS" BASIS,
16  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17  See the License for the specific language governing permissions and
18  limitations under the License.
19 
20 =============================================================================*/
21 
22 
23 #ifndef CTKSERVICEEXCEPTION_H
24 #define CTKSERVICEEXCEPTION_H
25 
26 #include "ctkException.h"
27 
28 #include <ctkPluginFrameworkExport.h>
29 
43 class CTK_PLUGINFW_EXPORT ctkServiceException : public ctkRuntimeException
44 {
45 public:
46 
47  enum Type {
51  UNSPECIFIED = 0,
55  UNREGISTERED = 1,
59  FACTORY_ERROR = 2,
63  FACTORY_EXCEPTION = 3,
67  REMOTE = 5,
72  FACTORY_RECURSION = 6
73  };
74 
82  ctkServiceException(const QString& msg, const Type& type = UNSPECIFIED);
83 
92  ctkServiceException(const QString& msg, const Type& type, const ctkException& cause);
93 
101  ctkServiceException(const QString& msg, const ctkException& cause);
102 
105 
107 
111  const char* name() const throw();
112 
116  ctkServiceException* clone() const;
117 
121  void rethrow() const;
122 
129  Type getType() const;
130 
131 private:
132 
136  Type type;
137 
138 };
139 
140 #endif // CTKSERVICEEXCEPTION_H
The base class for all exceptions defined in CTK.
Definition: ctkException.h:46
ctkServiceException(const QString &msg, const Type &type=UNSPECIFIED)
ctkServiceException(const QString &msg, const ctkException &cause)
ctkServiceException & operator=(const ctkServiceException &o)
ctkServiceException(const QString &msg, const Type &type, const ctkException &cause)
ctkServiceException(const ctkServiceException &o)