Exceptions and error-handling


Classes

class  dynamic::exception
 The base class of C++Script's exceptions. More...
class  dynamic::not_found
 Exception indicating that a member has not been found in an object. More...
class  dynamic::not_supported
 Exception indicating that an operation attempted on an object is not supported. More...
class  dynamic::wrong_number_of_args
 Exception indicating that the wrong number of arguments has been passed to a functor. More...
class  dynamic::too_many_arguments
 Exception indicating that too many arguments has been passed to a functor. More...
class  dynamic::invalid_string
 Exception when a string is in the wrong format. More...
class  dynamic::expired_iterator
 Exception when an iterator is used after its underlying object has been modified. More...
class  dynamic::scopeguard
 Executes a given functor when the scopeguard is destroyed. More...

Defines

#define finally(F)   ::dynamic::scopeguard guard##__COUNTER__(F);
 Executes the given functor at the end of the block.

Functions

DYNAMIC_API var dynamic::exception_description (const var &ex)
 Creates an exception string from an exception.
DYNAMIC_API var dynamic::stack_trace ()
 Retrieves a list of the current stack, as a list of strings.
DYNAMIC_API void dynamic::assertx (const var &v)
 Throws an exception if v is false.

Define Documentation

#define finally (  )     ::dynamic::scopeguard guard##__COUNTER__(F);

Executes the given functor at the end of the block.

Todo:
There is a bug in some compilers where the name isn't expanded out properly, meaning that you can't put two of these in the same block.

Definition at line 519 of file lib.hpp.


Function Documentation

void dynamic::assertx ( const var &  v  ) 

var dynamic::exception_description ( const var &  ex  ) 

var dynamic::stack_trace (  ) 

Retrieves a list of the current stack, as a list of strings.

Definition at line 1213 of file libdynamic/functor.cpp.

Referenced by test_stack_trace().


Generated on Thu Dec 18 22:14:18 2008 for C++Script by  doxygen 1.5.7.1