18#ifndef itkExceptionObject_h
19#define itkExceptionObject_h
22#ifndef allow_inclusion_of_itkExceptionObject_h
23# error "Do not include itkExceptionObject.h directly, include itkMacro.h instead."
65 unsigned int lineNumber,
66 std::
string description,
71 unsigned int lineNumber = 0,
72 std::
string description =
"None",
73 std::
string location = {},
74 const void * thrower =
nullptr);
126 [[nodiscard]] virtual const
char *
129 [[nodiscard]] virtual const
char *
133 [[nodiscard]] virtual const
char *
137 [[nodiscard]] virtual
unsigned int
141 [[nodiscard]] const
char *
142 what() const noexcept override;
236 this->
SetDescription(
"Filter execution was aborted by an external request");
241 :
ExceptionObject(
std::move(file), lineNumber,
"Filter execution was aborted by an external request")
249template <
typename TTarget,
typename TSource>
258 auto rval =
dynamic_cast<TTarget
>(x);
261 itkGenericExceptionMacro(
"Failed dynamic cast to " <<
typeid(TTarget).name()
262 <<
" object type = " << x->GetNameOfClass());
266 return static_cast<TTarget
>(x);
Standard exception handling object.
virtual const char * GetLocation() const
const char * what() const noexcept override
virtual void SetDescription(const std::string &s)
static constexpr const char *const default_exception_message
virtual void SetLocation(const std::string &s)
std::shared_ptr< const ExceptionData > m_ExceptionData
ExceptionObject() noexcept=default
std::exception Superclass
ITK_UNEQUAL_OPERATOR_MEMBER_FUNCTION(ExceptionObject)
virtual const char * GetFile() const
virtual void Print(std::ostream &os) const
ExceptionObject(ExceptionObject &&) noexcept=default
virtual unsigned int GetLine() const
virtual const char * GetDescription() const
ExceptionObject(const ExceptionObject &) noexcept=default
ExceptionObject() noexcept=default
ExceptionObject() noexcept=default
Light weight base class for most itk classes.
ExceptionObject() noexcept=default
ProcessAborted(std::string file, unsigned int lineNumber)
ExceptionObject() noexcept=default
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....
TTarget itkDynamicCastInDebugMode(TSource x)