一个内存管理的有关问题

一个内存管理的问题!
这是我自己编写了一个异常类
class   OutOfBounds
{
                private:
                                char*   msg;
                public:
                                OutOfBounds():msg( "Out   of   Bounds! "){}
                                ~OutOfBounds(){delete   []   msg;}
                                char*   Msg(){return   msg;}
};
编译没有问题,但当我用catch捕获异常的时候,会报内存分配错误.
如果我吧析构函数注释掉就不会有错误,请哪位大虾给指点下,这个内存错误到底在出在那里.怎么产生的.

------解决方案--------------------
"Out of Bounds! " 是一个常量指针,不能删除的。
只 delete 你 new 出来的东西
------解决方案--------------------
记着new 和 delete是成对出现的就行了
------解决方案--------------------
msg( "Out of Bounds! ") 这里没有分配内存

所以不需要 delete [] msg