The destruction of fully-constructed array elements when array initialization is terminated by an exception is required by 14.3 [except.ctor] paragraph 2, but the order in which they are to be destroyed is not specified. Presumably it should be in reverse order of construction.