Keywords: movable_exception

# movable_exception<ExceptionData>

## Summary

Subclass of `tbb_exceptio`n interface that supports propagating copy-constructible data.

## Syntax

    template<typename ExceptionData> class movable_exception;

## Header

    #include "tbb/tbb_exception.h"

## Description

This template provides a convenient way to implement a subclass of `tbb_exception` that propagates arbitrary copy-constructible data.

## Members

     namespace tbb {
                       template<typename ExceptionData>
                        class movable_exception: public tbb_exception {
                        public:
                        movable_exception( const ExceptionData& src );
                        movable_exception( const movable_exception& src )throw();
                        ~movable_exception() throw();
                        movable_exception& operator=( const movable_exception& src );
                        ExceptionData& data() throw();
                        const ExceptionData& data() const throw();
                        movable_exception* move() throw();
                        void destroy() throw();
                        void throw_self();
                        const char* name() const throw();
                        const char* what() const throw();
                        };
                        }

The following table provides information on the additions that `movable_exception` makes to `tbb_exception`. Section `tbb_exception` describes the rest of the interface.
Member | Description
--- | ---
movable_exception( const ExceptionData& src ) | Construct `movable_exception` containing copy of src.
ExceptionData& data() throw() | Returns: Reference to contained data.
const ExceptionData& data() const throw() | Returns: Const reference to contained data.

Parent topic: Exceptions

## See Also

tbb_exception