>>322
try-catchでくくってごらん
int main()
{
try
{
std::srand((unsigned int)std::time(NULL));

{
boost::shared_ptr<MyClass> p1(new MyClass);
boost::shared_ptr<MyClass> p2(new MyClass);
boost::shared_ptr<MyClass> p3(new MyClass);
boost::shared_ptr<MyClass> p4(new MyClass);
}

{
boost::shared_array<MyClass> p(new MyClass[4]);
}
}
catch(...)
{
std::cout<<"例外が投げられた\n";
}
return 0;
}