+ smart pointer that throws from destructor