Попробовал конструкцию типа
Code: Select all
var
  charsArr: array[1..8] of char;
  i: integer;
  t: string;
begin
  t := '1234567';
  for i := 1 to 8 do
    try
      charsArr[i] := StrGet(t, i);
    except
      break;
    end;
  AddToSystemJournal(charsArr[1]);
  
end.При чем меня огорчила работа try except. Работа скрипта обрывалась после того как срабатывало исключение(ошибка).
То что находится в except-end не отрабатывалось все что идет ниже по коду тоже.
Если except заменить на finally то блок между finally-end отрабатывается и опять же дальше скрипт глохнет.
Просто интересно, как работает данная вещь. Правильно ли оно работает? Так и должно обрываться в месте ошибки?
З.Ы. Я свою проблему решил случайно найдя функцию Length которую не смог найти нигде в справочниках...

