То, что вы думаете, что занимает место - это просто способ его отображения и не обязательно отражает объем информации. В частности, имейте в виду, что при отображении символ новой строки занимает одну строку, но представляет собой всего один символ. Например, ваш третий пример может выглядеть так, как будто он занимает меньше строк, но включает в себя повторение слова error
, а с точки зрения количества символов он занимает больше символов, чем второй, и фактически является пустой тратой информации.
Как и во втором примере по сравнению с первым, первый лучше с точки зрения модульности. Если у вас было несколько шаблонов для отображения сообщения об ошибке, то первый формат будет отличать это, тогда как ваш второй формат будет смешивать их.