TuttleOFX  1
tuttle::exception Namespace Reference

Data Structures

struct  tag_userMessage
struct  tag_devMessage
struct  tag_backtraceMessage
struct  tag_ofxContext
struct  tag_ofxApi
struct  tag_pluginIdentifier
struct  tag_pluginName
struct  tag_nodeName
struct  tag_time
struct  Common
 Common exception for all tuttle plugin exceptions. More...
struct  OfxCustom
 Ofx standard errors. More...
struct  Failed
 Status error code for a failed operation. More...
struct  Fatal
 Status error code for a fatal error. More...
struct  Unknown
 Status error code for an operation on or request for an unknown object. More...
struct  MissingHostFeature
 Status error code returned by plug-ins when they are missing host functionality, either an API or some optional functionality (eg: custom params). More...
struct  Unsupported
 Status error code for an unsupported feature/operation. More...
struct  Exists
 Status error code for an operation attempting to create something that exists. More...
struct  Format
 Status error code for an incorrect format. More...
struct  Memory
 Status error code indicating that something failed due to memory shortage. More...
struct  BadHandle
 Status error code for an operation on a bad handle. More...
struct  BadIndex
 Status error code indicating that a given index was invalid or unavailable. More...
struct  Value
 Status error code indicating that something failed due an illegal value. More...
struct  ImageFormat
 imageEffect specific errors More...
struct  Logic
 Other exceptions. More...
struct  Bug
 Something that should never appends. These exceptions may be replaced by assertions, but we prefer to keep a runtime check even in release (for the moment). More...
struct  BadConversion
 Unknown error inside a conversion. More...
struct  ImageNotReady
 Error with a NULL image buffer. * plugin: The host launch a process, but the input clips are not filled (eg. NULL buffer pointer). The error comes from host. * host: Error with memory cache or memory pool. More...
struct  ImageNotConnected
 A non optional input clip in not connected. * plugin: Normally the host should not launch the render in this case. The error comes from host. * host: We can't launch the render in this case. More...
struct  InputMismatch
 Input property don't satisfy descriptor requirements. * plugin: The error comes from host. * host: We can't launch the render in this case. More...
struct  InOutMismatch
 Input and output properties mismatch. * plugin: The error comes from host. * host: We can't launch the render in this case. More...
struct  BitDepthMismatch
 Input(s) and enventually output properties mismatch. * plugin: The error comes from host. * host: We can't launch the render in this case. More...
struct  WrongRowBytes
 Image raw bytes not valid. * plugin: The error comes from host. * host: We can't launch the render in this case. More...
struct  Data
 Status error code indicating that something failed due an illegal data. More...
struct  NotImplemented
 Something that could work, but is not implemeted. More...
struct  WrongParameter
 The parameter doesn't make sense. More...
struct  File
 File manipulation error. eg. read only, file doesn't exists, etc. More...
struct  FileNotExist
 File doesn't exist. More...
struct  FileExist
 File already exists. More...
struct  FileInSequenceNotExist
 File in sequence doesn't exist. More...
struct  NoDirectory
 Directory doesn't exist. More...
struct  ReadOnlyFile
 Read only file. More...

Typedefs

typedef ::boost::error_info
< struct tag_userMessage,::boost::error_info_sstream
user
 Like a stringstream but using "operator+" instead of "operator<<". Use a stringstream internally.
typedef ::boost::error_info
< struct tag_devMessage,::boost::error_info_sstream
dev
 This is detailed informations for developpers. Not always a real human readable message :)
typedef ::boost::error_info
< struct tag_backtraceMessage,::boost::error_info_sstream
backtrace
 When we convert a C++ exception into a Python exception, we put the C++ backtrace into the message.
typedef ::OFX::ofxStatus ofxStatus
 The ofx error status code.
typedef ::boost::error_info
< struct tag_ofxContext,::std::string > 
ofxContext
 The ofx context name. Each plugin can be instanciated in differents contexts (depending on the declaration of supported contexts).
typedef ::boost::error_info
< struct tag_ofxApi,::std::string > 
ofxApi
 The ofx api string identification.
typedef ::boost::error_info
< struct tag_pluginIdentifier,::std::string > 
pluginIdentifier
 Plugin string identifier.
typedef ::boost::error_info
< struct tag_pluginName,::std::string > 
pluginName
 Plugin name.
typedef ::boost::error_info
< struct tag_nodeName,::std::string > 
nodeName
 Node name.
typedef ::boost::error_info
< struct tag_time, OfxTime > 
time
 Time.
typedef ::boost::errinfo_file_name filename
 Problem with a file.

Functions

std::string format_exception_message (const ::boost::exception &e)
std::string format_exception_info (const ::boost::exception &e)
std::string format_current_exception ()

Typedef Documentation

When we convert a C++ exception into a Python exception, we put the C++ backtrace into the message.

Remarks:
Dev information.

Definition at line 110 of file exceptions.hpp.

typedef ::boost::error_info<struct tag_devMessage, ::boost::error_info_sstream> tuttle::exception::dev

This is detailed informations for developpers. Not always a real human readable message :)

Remarks:
Dev information.

Definition at line 101 of file exceptions.hpp.

typedef ::boost::errinfo_file_name tuttle::exception::filename

Problem with a file.

Remarks:
User information.

Definition at line 153 of file exceptions.hpp.

typedef ::boost::error_info<struct tag_nodeName, ::std::string> tuttle::exception::nodeName

Node name.

Remarks:
User information.

Definition at line 143 of file exceptions.hpp.

typedef ::boost::error_info<struct tag_ofxApi, ::std::string> tuttle::exception::ofxApi

The ofx api string identification.

Remarks:
Dev information.

Definition at line 128 of file exceptions.hpp.

typedef ::boost::error_info<struct tag_ofxContext, ::std::string> tuttle::exception::ofxContext

The ofx context name. Each plugin can be instanciated in differents contexts (depending on the declaration of supported contexts).

Remarks:
Dev information.

Definition at line 123 of file exceptions.hpp.

The ofx error status code.

Remarks:
Dev information.

Definition at line 116 of file exceptions.hpp.

typedef ::boost::error_info<struct tag_pluginIdentifier, ::std::string> tuttle::exception::pluginIdentifier

Plugin string identifier.

Remarks:
Dev information.

Definition at line 133 of file exceptions.hpp.

typedef ::boost::error_info<struct tag_pluginName, ::std::string> tuttle::exception::pluginName

Plugin name.

Remarks:
User information.

Definition at line 138 of file exceptions.hpp.

typedef ::boost::error_info<struct tag_time, OfxTime> tuttle::exception::time

Time.

Remarks:
Dev or user information.

Definition at line 148 of file exceptions.hpp.

typedef ::boost::error_info<struct tag_userMessage, ::boost::error_info_sstream> tuttle::exception::user

Like a stringstream but using "operator+" instead of "operator<<". Use a stringstream internally.

Standard tags you can use to add informations to your exceptions.

Remarks:
We use lower camel case for tags, to keep a difference between tags and exceptions. If you catch an error at the top level, you can print this information to the user.
User information.

Definition at line 93 of file exceptions.hpp.


Function Documentation

std::string tuttle::exception::format_current_exception ( )

Definition at line 60 of file exceptions.cpp.

Referenced by tuttle::host::graph::ProcessGraph::process().

std::string tuttle::exception::format_exception_info ( const ::boost::exception &  e)

Definition at line 22 of file exceptions.cpp.

References boost::stack_trace::trace().

Referenced by tuttle::host::graph::ProcessGraph::process().

Here is the call graph for this function:

std::string tuttle::exception::format_exception_message ( const ::boost::exception &  e)

Definition at line 6 of file exceptions.cpp.

Referenced by tuttle::host::graph::ProcessGraph::process().