9 #ifndef __HOM_Errors_h__
10 #define __HOM_Errors_h__
26 : myExitCode(exit_code)
30 {
return myExitCode; }
50 : myInstanceMessage(instance_message ? instance_message :
"")
67 result += exceptionTypeName();
75 if (description().
size())
77 result += description();
81 if (instance_msg.size())
83 if (description().size())
85 result += instance_msg;
97 #define SIMPLE_EXCEPTION(exception_name, description_value) \
98 SWIGOUT(%rename(exception_name) HOM_ ## exception_name;) \
99 class HOM_API HOM_ ## exception_name : public HOM_Error \
102 HOM_ ## exception_name(const char* instance_message = "") \
103 : HOM_Error(instance_message) \
105 HOM_Error* clone() override { return new HOM_ ## exception_name(*this); } \
106 std::string exceptionTypeName() override { return #exception_name; } \
107 std::string description() override { return description_value; } \
108 SWIGOUT(std::string __repr__();) \
109 SWIGOUT(std::string __str__();) \
118 #define DERIVED_EXCEPTION(exception_name, base_exception, description_value) \
119 SWIGOUT(%rename(exception_name) HOM_ ## exception_name;) \
120 class HOM_API HOM_ ## exception_name : public HOM_ ## base_exception \
123 HOM_ ## exception_name(const char* instance_message = "") \
124 : HOM_ ## base_exception(instance_message) \
126 HOM_Error* clone() override { return new HOM_ ## exception_name(*this); } \
127 std::string exceptionTypeName() override { return #exception_name; } \
128 std::string description() override { return description_value; } \
129 SWIGOUT(std::string __repr__();) \
130 SWIGOUT(std::string __str__();) \
133 #define SIMPLE_EXCEPTION_DFLT_INSTANCE(exception_name, description_value, \
134 default_instance_value) \
135 SWIGOUT(%rename(exception_name) HOM_ ## exception_name;) \
136 class HOM_API HOM_ ## exception_name : public HOM_Error \
139 HOM_ ## exception_name(const char* instance_message = "") \
140 : HOM_Error(instance_message) \
142 HOM_Error* clone() override { return new HOM_ ## exception_name(*this); } \
143 std::string exceptionTypeName() override { return #exception_name; } \
144 std::string description() override { return description_value; } \
145 std::string instanceMessage() override \
147 std::string instance_msg = HOM_Error::instanceMessage(); \
148 if (!instance_msg.size()) instance_msg = default_instance_value; \
149 return instance_msg; \
151 SWIGOUT(std::string __repr__();) \
152 SWIGOUT(std::string __str__();) \
156 "Not available in this context")
168 "The attempted operation failed")
170 "The node
type is invalid")
172 "Node initialization script failed")
174 "Failed to match node
type definition")
176 "Failed to modify node or parameter because of
a permission "
177 "
error. Possible causes include locked assets, takes, "
178 "product permissions or user specified permissions")
180 "Geometry is
read-only")
182 "This keyframe
value is not set")
184 "The requested operation was interrupted")
186 "Warnings were generated during load")
188 "
Error generated by Python node")
190 "Warning generated by Python node")
192 "
Name conflict was detected")
194 "Attempt to unregister
a non-registered state")
196 "Attempt to unregister
a non-registered handle")
199 "The underlying geometry is not valid. Possibly caused "
200 "by the
source SOP Node failing to cook since the python "
201 "geometry was assigned.")
virtual std::string exceptionTypeName()
#define SIMPLE_EXCEPTION(exception_name, description_value)
OIIO_API bool rename(string_view from, string_view to, std::string &err)
GLenum GLenum GLenum input
HOM_Error(const char *instance_message="")
virtual HOM_Error * clone()
#define DERIVED_EXCEPTION(exception_name, base_exception, description_value)
void read(T &in, bool &v)
GLint GLint GLsizei GLint GLenum GLenum type
GLsizei GLsizei GLchar * source
GLboolean GLboolean GLboolean GLboolean a
GLsizei const GLchar *const * string
virtual std::string instanceMessage()
GLuint GLint GLboolean GLint GLenum access
OIIO_API bool exists(string_view path) noexcept
#define SIMPLE_EXCEPTION_DFLT_INSTANCE(exception_name, description_value, default_instance_value)
GLsizei const GLfloat * value
HOM_SystemExit(int exit_code)
virtual std::string description()