15#if !defined(Magick_Exception_header)
16#define Magick_Exception_header
18#include "Magick++/Include.h"
24 class MagickPPExport Exception:
public std::exception
29 Exception(
const std::string& what_);
32 Exception(
const std::string& what_, Exception* nested_);
35 Exception(
const Exception& original_);
38 virtual ~Exception()
throw();
41 Exception& operator=(
const Exception& original_);
44 virtual const char* what()
const throw();
47 const Exception* nested()
const throw();
55 void nested(Exception* nested_)
throw();
66 class MagickPPExport Error:
public Exception
69 explicit Error(
const std::string& what_);
70 explicit Error(
const std::string& what_,Exception *nested_);
74 class MagickPPExport ErrorBlob:
public Error
77 explicit ErrorBlob(
const std::string& what_);
78 explicit ErrorBlob(
const std::string& what_,
Exception *nested_);
82 class MagickPPExport ErrorCache:
public Error
85 explicit ErrorCache(
const std::string& what_);
86 explicit ErrorCache(
const std::string& what_,
Exception *nested_);
87 ~ErrorCache()
throw();
90 class MagickPPExport ErrorCoder:
public Error
93 explicit ErrorCoder(
const std::string& what_);
94 explicit ErrorCoder(
const std::string& what_,
Exception *nested_);
95 ~ErrorCoder()
throw();
98 class MagickPPExport ErrorConfigure:
public Error
101 explicit ErrorConfigure(
const std::string& what_);
102 explicit ErrorConfigure(
const std::string& what_,
Exception *nested_);
103 ~ErrorConfigure()
throw();
106 class MagickPPExport ErrorCorruptImage:
public Error
109 explicit ErrorCorruptImage(
const std::string& what_);
110 explicit ErrorCorruptImage(
const std::string& what_,
Exception *nested_);
111 ~ErrorCorruptImage()
throw();
114 class MagickPPExport ErrorDelegate:
public Error
117 explicit ErrorDelegate(
const std::string& what_);
118 explicit ErrorDelegate(
const std::string& what_,
Exception *nested_);
119 ~ErrorDelegate()
throw();
122 class MagickPPExport ErrorDraw:
public Error
125 explicit ErrorDraw(
const std::string& what_);
126 explicit ErrorDraw(
const std::string& what_,
Exception *nested_);
127 ~ErrorDraw()
throw();
130 class MagickPPExport ErrorFileOpen:
public Error
133 explicit ErrorFileOpen(
const std::string& what_);
134 explicit ErrorFileOpen(
const std::string& what_,
Exception *nested_);
135 ~ErrorFileOpen()
throw();
138 class MagickPPExport ErrorImage:
public Error
141 explicit ErrorImage(
const std::string& what_);
142 explicit ErrorImage(
const std::string& what_,
Exception *nested_);
143 ~ErrorImage()
throw();
146 class MagickPPExport ErrorMissingDelegate:
public Error
149 explicit ErrorMissingDelegate(
const std::string& what_);
150 explicit ErrorMissingDelegate(
const std::string& what_,
Exception *nested_);
151 ~ErrorMissingDelegate()
throw();
154 class MagickPPExport ErrorModule:
public Error
157 explicit ErrorModule(
const std::string& what_);
158 explicit ErrorModule(
const std::string& what_,
Exception *nested_);
159 ~ErrorModule()
throw();
162 class MagickPPExport ErrorMonitor:
public Error
165 explicit ErrorMonitor(
const std::string& what_);
166 explicit ErrorMonitor(
const std::string& what_,
Exception *nested_);
167 ~ErrorMonitor()
throw();
170 class MagickPPExport ErrorOption:
public Error
173 explicit ErrorOption(
const std::string& what_);
174 explicit ErrorOption(
const std::string& what_,
Exception *nested_);
175 ~ErrorOption()
throw();
178 class MagickPPExport ErrorPolicy:
public Error
181 explicit ErrorPolicy(
const std::string& what_);
182 explicit ErrorPolicy(
const std::string& what_,
Exception *nested_);
183 ~ErrorPolicy()
throw();
186 class MagickPPExport ErrorRegistry:
public Error
189 explicit ErrorRegistry(
const std::string& what_);
190 explicit ErrorRegistry(
const std::string& what_,
Exception *nested_);
191 ~ErrorRegistry()
throw();
194 class MagickPPExport ErrorResourceLimit:
public Error
197 explicit ErrorResourceLimit(
const std::string& what_);
198 explicit ErrorResourceLimit(
const std::string& what_,
Exception *nested_);
199 ~ErrorResourceLimit()
throw();
202 class MagickPPExport ErrorStream:
public Error
205 explicit ErrorStream(
const std::string& what_);
206 explicit ErrorStream(
const std::string& what_,
Exception *nested_);
207 ~ErrorStream()
throw();
210 class MagickPPExport ErrorType:
public Error
213 explicit ErrorType(
const std::string& what_);
214 explicit ErrorType(
const std::string& what_,
Exception *nested_);
215 ~ErrorType()
throw();
218 class MagickPPExport ErrorUndefined:
public Error
221 explicit ErrorUndefined(
const std::string& what_);
222 explicit ErrorUndefined(
const std::string& what_,
Exception *nested_);
223 ~ErrorUndefined()
throw();
226 class MagickPPExport ErrorXServer:
public Error
229 explicit ErrorXServer(
const std::string& what_);
230 explicit ErrorXServer(
const std::string& what_,
Exception *nested_);
231 ~ErrorXServer()
throw();
238 class MagickPPExport Warning:
public Exception
241 explicit Warning(
const std::string& what_);
242 explicit Warning(
const std::string& what_,Exception *nested_);
246 class MagickPPExport WarningBlob:
public Warning
249 explicit WarningBlob(
const std::string& what_);
250 explicit WarningBlob(
const std::string& what_,
Exception *nested_);
251 ~WarningBlob()
throw();
254 class MagickPPExport WarningCache:
public Warning
257 explicit WarningCache(
const std::string& what_);
258 explicit WarningCache(
const std::string& what_,
Exception *nested_);
259 ~WarningCache()
throw();
262 class MagickPPExport WarningCoder:
public Warning
265 explicit WarningCoder(
const std::string& what_);
266 explicit WarningCoder(
const std::string& what_,
Exception *nested_);
267 ~WarningCoder()
throw();
270 class MagickPPExport WarningConfigure:
public Warning
273 explicit WarningConfigure(
const std::string& what_);
274 explicit WarningConfigure(
const std::string& what_,
Exception *nested_);
275 ~WarningConfigure()
throw();
278 class MagickPPExport WarningCorruptImage:
public Warning
281 explicit WarningCorruptImage(
const std::string& what_);
282 explicit WarningCorruptImage(
const std::string& what_,
Exception *nested_);
283 ~WarningCorruptImage()
throw();
286 class MagickPPExport WarningDelegate:
public Warning
289 explicit WarningDelegate(
const std::string& what_);
290 explicit WarningDelegate(
const std::string& what_,
Exception *nested_);
291 ~WarningDelegate()
throw();
294 class MagickPPExport WarningDraw :
public Warning
297 explicit WarningDraw(
const std::string& what_);
298 explicit WarningDraw(
const std::string& what_,
Exception *nested_);
299 ~WarningDraw()
throw();
302 class MagickPPExport WarningFileOpen:
public Warning
305 explicit WarningFileOpen(
const std::string& what_);
306 explicit WarningFileOpen(
const std::string& what_,
Exception *nested_);
307 ~WarningFileOpen()
throw();
310 class MagickPPExport WarningImage:
public Warning
313 explicit WarningImage(
const std::string& what_);
314 explicit WarningImage(
const std::string& what_,
Exception *nested_);
315 ~WarningImage()
throw();
318 class MagickPPExport WarningMissingDelegate:
public Warning
321 explicit WarningMissingDelegate(
const std::string& what_);
322 explicit WarningMissingDelegate(
const std::string& what_,
324 ~WarningMissingDelegate()
throw();
327 class MagickPPExport WarningModule:
public Warning
330 explicit WarningModule(
const std::string& what_);
331 explicit WarningModule(
const std::string& what_,
Exception *nested_);
332 ~WarningModule()
throw();
335 class MagickPPExport WarningMonitor:
public Warning
338 explicit WarningMonitor(
const std::string& what_);
339 explicit WarningMonitor(
const std::string& what_,
Exception *nested_);
340 ~WarningMonitor()
throw();
343 class MagickPPExport WarningOption:
public Warning
346 explicit WarningOption(
const std::string& what_);
347 explicit WarningOption(
const std::string& what_,
Exception *nested_);
348 ~WarningOption()
throw();
351 class MagickPPExport WarningPolicy:
public Warning
354 explicit WarningPolicy(
const std::string& what_);
355 explicit WarningPolicy(
const std::string& what_,
Exception *nested_);
356 ~WarningPolicy()
throw();
359 class MagickPPExport WarningRegistry:
public Warning
362 explicit WarningRegistry(
const std::string& what_);
363 explicit WarningRegistry(
const std::string& what_,
Exception *nested_);
364 ~WarningRegistry()
throw();
367 class MagickPPExport WarningResourceLimit:
public Warning
370 explicit WarningResourceLimit(
const std::string& what_);
371 explicit WarningResourceLimit(
const std::string& what_,
Exception *nested_);
372 ~WarningResourceLimit()
throw();
375 class MagickPPExport WarningStream:
public Warning
378 explicit WarningStream(
const std::string& what_);
379 explicit WarningStream(
const std::string& what_,
Exception *nested_);
380 ~WarningStream()
throw();
383 class MagickPPExport WarningType:
public Warning
386 explicit WarningType(
const std::string& what_);
387 explicit WarningType(
const std::string& what_,
Exception *nested_);
388 ~WarningType()
throw();
391 class MagickPPExport WarningUndefined:
public Warning
394 explicit WarningUndefined(
const std::string& what_);
395 explicit WarningUndefined(
const std::string& what_,
Exception *nested_);
396 ~WarningUndefined()
throw();
399 class MagickPPExport WarningXServer:
public Warning
402 explicit WarningXServer(
const std::string& what_);
403 explicit WarningXServer(
const std::string& what_,
Exception *nested_);
404 ~WarningXServer()
throw();
411 std::string formatExceptionMessage(
412 const MagickCore::ExceptionInfo *exception_);
414 Exception* createException(
const MagickCore::ExceptionInfo *exception_);
417 extern MagickPPExport
void throwExceptionExplicit(
418 const MagickCore::ExceptionType severity_,
const char* reason_,
419 const char* description_=(
char *) NULL);
422 extern MagickPPExport
void throwException(
423 MagickCore::ExceptionInfo *exception_,
const bool quiet_=
false);