>>137
環境にもよるけど、new char[(std::size_t)-1]のように、明らかに確保できなさそうなほど大きな値でnewするとbad_alloc飛んでくるよ。