TuttleOFX  1
TuttleOFX/libraries/tuttle/src/tuttle/common/exceptions.hpp File Reference
#include "utils/boost_error_info_sstream.hpp"
#include "utils/backtrace.hpp"
#include <tuttle/common/ofx/core.hpp>
#include <tuttle/common/ofx/utilities.hpp>
#include <boost/version.hpp>
#include <boost/lexical_cast.hpp>
#include <boost/exception/exception.hpp>
#include <boost/exception/info.hpp>
#include <boost/exception/errinfo_file_name.hpp>
#include <boost/exception/diagnostic_information.hpp>
#include <boost/exception/get_error_info.hpp>
#include <tuttle/common/utils/color.hpp>
#include <ofxCorePlugin.h>
#include <ofxImageEffect.h>
#include <sstream>
#include <string>
#include <stdexcept>
Include dependency graph for exceptions.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  boost::errinfo_file_name_
struct  tuttle::exception::tag_userMessage
struct  tuttle::exception::tag_devMessage
struct  tuttle::exception::tag_backtraceMessage
struct  tuttle::exception::tag_ofxContext
struct  tuttle::exception::tag_ofxApi
struct  tuttle::exception::tag_pluginIdentifier
struct  tuttle::exception::tag_pluginName
struct  tuttle::exception::tag_nodeName
struct  tuttle::exception::tag_time
struct  tuttle::exception::Common
 Common exception for all tuttle plugin exceptions. More...
struct  tuttle::exception::OfxCustom
 Ofx standard errors. More...
struct  tuttle::exception::Failed
 Status error code for a failed operation. More...
struct  tuttle::exception::Fatal
 Status error code for a fatal error. More...
struct  tuttle::exception::Unknown
 Status error code for an operation on or request for an unknown object. More...
struct  tuttle::exception::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  tuttle::exception::Unsupported
 Status error code for an unsupported feature/operation. More...
struct  tuttle::exception::Exists
 Status error code for an operation attempting to create something that exists. More...
struct  tuttle::exception::Format
 Status error code for an incorrect format. More...
struct  tuttle::exception::Memory
 Status error code indicating that something failed due to memory shortage. More...
struct  tuttle::exception::BadHandle
 Status error code for an operation on a bad handle. More...
struct  tuttle::exception::BadIndex
 Status error code indicating that a given index was invalid or unavailable. More...
struct  tuttle::exception::Value
 Status error code indicating that something failed due an illegal value. More...
struct  tuttle::exception::ImageFormat
 imageEffect specific errors More...
struct  tuttle::exception::Logic
 Other exceptions. More...
struct  tuttle::exception::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  tuttle::exception::BadConversion
 Unknown error inside a conversion. More...
struct  tuttle::exception::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  tuttle::exception::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  tuttle::exception::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  tuttle::exception::InOutMismatch
 Input and output properties mismatch. * plugin: The error comes from host. * host: We can't launch the render in this case. More...
struct  tuttle::exception::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  tuttle::exception::WrongRowBytes
 Image raw bytes not valid. * plugin: The error comes from host. * host: We can't launch the render in this case. More...
struct  tuttle::exception::Data
 Status error code indicating that something failed due an illegal data. More...
struct  tuttle::exception::NotImplemented
 Something that could work, but is not implemeted. More...
struct  tuttle::exception::WrongParameter
 The parameter doesn't make sense. More...
struct  tuttle::exception::File
 File manipulation error. eg. read only, file doesn't exists, etc. More...
struct  tuttle::exception::FileNotExist
 File doesn't exist. More...
struct  tuttle::exception::FileExist
 File already exists. More...
struct  tuttle::exception::FileInSequenceNotExist
 File in sequence doesn't exist. More...
struct  tuttle::exception::NoDirectory
 Directory doesn't exist. More...
struct  tuttle::exception::ReadOnlyFile
 Read only file. More...

Namespaces

namespace  boost
namespace  tuttle
 

global namespace of the project


namespace  tuttle::exception
namespace  OFX

Defines

#define TUTTLE_LOG_EXCEPTION(e)
#define TUTTLE_LOG_CURRENT_EXCEPTION

Typedefs

typedef ::boost::error_info
< struct tag_ofxStatus,::OfxStatus > 
OFX::ofxStatus
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.
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 :)
typedef ::boost::error_info
< struct tag_backtraceMessage,::boost::error_info_sstream
tuttle::exception::backtrace
 When we convert a C++ exception into a Python exception, we put the C++ backtrace into the message.
typedef ::OFX::ofxStatus tuttle::exception::ofxStatus
 The ofx error status code.
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).
typedef ::boost::error_info
< struct tag_ofxApi,::std::string > 
tuttle::exception::ofxApi
 The ofx api string identification.
typedef ::boost::error_info
< struct tag_pluginIdentifier,::std::string > 
tuttle::exception::pluginIdentifier
 Plugin string identifier.
typedef ::boost::error_info
< struct tag_pluginName,::std::string > 
tuttle::exception::pluginName
 Plugin name.
typedef ::boost::error_info
< struct tag_nodeName,::std::string > 
tuttle::exception::nodeName
 Node name.
typedef ::boost::error_info
< struct tag_time, OfxTime > 
tuttle::exception::time
 Time.
typedef ::boost::errinfo_file_name tuttle::exception::filename
 Problem with a file.

Functions

std::string OFX::to_string (const ofxStatus &e)
std::string tuttle::quotes (const std::string &s)
std::string tuttle::exception::format_exception_message (const ::boost::exception &e)
std::string tuttle::exception::format_exception_info (const ::boost::exception &e)
std::string tuttle::exception::format_current_exception ()

Define Documentation

#define TUTTLE_LOG_CURRENT_EXCEPTION
Value:
TUTTLE_LOG_ERROR( "Exception:" ); \
    TUTTLE_LOG_ERROR( TUTTLE_GET_INFOS_FILE ); \
    TUTTLE_LOG_ERROR( TUTTLE_GET_INFOS_FUNCTION ); \
    TUTTLE_LOG_ERROR( "\t" << ::boost::current_exception_diagnostic_information() )

Definition at line 47 of file exceptions.hpp.

#define TUTTLE_LOG_EXCEPTION (   e)
Value:
TUTTLE_LOG_ERROR( "Exception:" ); \
    TUTTLE_LOG_ERROR( TUTTLE_GET_INFOS_FILE ); \
    TUTTLE_LOG_ERROR( TUTTLE_GET_INFOS_FUNCTION ); \
    TUTTLE_LOG_ERROR( "\t" << ::boost::diagnostic_information( e ) )

Definition at line 41 of file exceptions.hpp.

Referenced by tuttle::host::ofx::property::OfxhSet::setProperty(), and tuttle::host::ofx::property::OfxhSet::setPropertyN().