Я вижу логику в том, что пройти через войну подразумевает главным образом "препятствие", а если опустить "через" мы говорим об опыте, полученном человеком
1 ответ
Оба выражения корректны, но различаются по смыслу, поэтому о речевой ошибке речь может идти при неправильном контестном употреблении.
"Прошёл войну" обычно означает "воевал, (провоевал всю войну, большую её часть)", а "прошёл через войну" - шире по смыслу и значит "прошел через испытания, связанные с войной" (не обязательно воевал, но был в оккупации, в плену, голодал, трудился в тяжелых условиях).
Речевой ошибкой было бы сказать "прошёл войну" (вместо "... через войну") о человеке, всю войну прожившем в оккупации, какой бы тяжелой ни была его судьба.