14#ifndef GDCMEXCEPTION_H
15#define GDCMEXCEPTION_H
27#if defined(__clang__) && defined(__has_warning)
28# if __has_warning("-Wdeprecated")
29# pragma clang diagnostic push
30# pragma clang diagnostic ignored "-Wdeprecated"
49 typedef std::logic_error StringHolder;
52 static StringHolder CreateWhat(
const char*
const desc,
53 const char*
const file,
54 const unsigned int lineNumber,
55 const char*
const func)
57 assert(desc !=
nullptr);
58 assert(file !=
nullptr);
59 assert(func !=
nullptr);
60 std::ostringstream oswhat;
61 oswhat << file <<
":" << lineNumber <<
" (" << func <<
"):\n";
63 return StringHolder( oswhat.str() );
73 const char *file = __FILE__,
74 unsigned int lineNumber = __LINE__,
76 const char *func =
"" )
78 What( CreateWhat(desc, file, lineNumber, func) ),
86 const char*
what()
const throw()
override
96 StringHolder Description;
102#if defined(__clang__) && defined(__has_warning)
103# if __has_warning("-Wdeprecated")
104# pragma clang diagnostic pop
Exception.
Definition gdcmException.h:44
~Exception() override
Definition gdcmException.h:83
const char * GetDescription() const
Return the Description.
Definition gdcmException.h:92
Exception(const char *desc="None", const char *file=__FILE__, unsigned int lineNumber=__LINE__, const char *func="")
Definition gdcmException.h:72
const char * what() const override
what implementation
Definition gdcmException.h:86