Зачем использовать обработку исключений в явно «безопасном» коде?

Пожалуйста, может кто-нибудь объяснить мне, что может вызвать исключение в этом коде?

function CreateBibleNames: TStrings;
begin
  Result := TStringList.Create;
  try
    Result.Add('Adam');
    Result.Add('Eva');
    Result.Add('Kain');
    Result.Add('Abel');
  except
    Result.Free;
    raise;
  end;      
end;

Так как я использую Delphi, я использовал обработку исключений, возможно, один раз. Я считаю, что приведенный выше код написан опытным программистом, и я не думаю, что исключения являются избыточными. Но все же использование обработки исключений в этой концепции остается для меня загадкой. Кажется, это безопасный код (без попытки, кроме конца). Я много раз видел подобные фрагменты кода, подобные этому, поэтому, вероятно, есть веская причина, чтобы написать его таким образом, несмотря на мой опыт, который не доказывал его необходимость.

Более того, когда что-то не получается, я получаю описание исключения ....

Thanx

Ответы на вопрос(8)

Ваш ответ на вопрос