35 #ifndef IE_CORE_EXCEPTION_H
36 #define IE_CORE_EXCEPTION_H
41 #include "RefCounted.h"
43 #include "IECore/Export.h"
59 virtual const char *type()
const throw();
62 const char* what()
const throw()
override;
65 Exception &append(
const std::string &s );
71 Exception &prepend(
const std::string &s );
78 class RefCountedString :
public RefCounted,
public std::string
81 RefCountedString(
const char * s) : std::string(s) {}
82 RefCountedString(
const std::string &s) : std::string(s) {}
85 IE_CORE_DECLAREPTR( RefCountedString )
87 RefCountedStringPtr m_what;
97 const char *type()
const throw()
override {
return "I/O Exception"; }
107 const char *type()
const throw()
override {
return "File Not Found"; }
117 const char *type()
const throw()
override {
return "Invalid Argument"; }
127 const char *type()
const throw()
override {
return "Permission Denied"; }
137 const char *type()
const throw()
override {
return "Not Implemented"; }
141 #endif // IE_CORE_EXCEPTION_H
A class to represent "not implemented" exceptions.
Definition: Exception.h:131
Definition: Exception.h:49
Base class for Invalid Argument exceptions.
Definition: Exception.h:111
A class to represent "file not found" exceptions.
Definition: Exception.h:101
A class to represent "permission denied" exceptions.
Definition: Exception.h:121
Definition: RefCounted.h:124
This namespace contains all components of the core library.
Definition: AddSmoothSkinningInfluencesOp.h:43
Base class for Input/Output exceptions.
Definition: Exception.h:91