>>622
std::array を使うと例外安全が確保されて、
TYPE *pArr = new TYPE[N];
だと確保されないと思うのはなぜ?

絶対に確保できないと言い切れる根拠でもあるの?