Как Вы обрабатываете ресурсы в MATLAB в исключении безопасный способ? (как “попытка … наконец”)

Если Вы вставляете текст от базы данных или такого (какой обычно делают), преобразуйте весь" <br /> "в & vbCrLf. Работает отлично для меня:)

29
задан gnovice 31 March 2017 в 01:22
поделиться

1 ответ

Я бы посоветовал проверить объекты ONCLEANUP . Они позволяют автоматически запускать код при выходе из функции (точнее, когда объект ONCLEANUP очищается из памяти). Лорен из MathWorks обсуждает это в одном из своих сообщений в блоге здесь . Если вы поместите указанный выше код в функцию, он может выглядеть примерно так:

function data = load_line(filename)
  data = [];
  fid = fopen(filename);
  if fid == -1
      error('Couldn''t open file');
  end
  c = onCleanup(@()fclose(fid));
  data = getl(fid);
end

Даже если вызов GETL вызывает исключение, объект ONCLEANUP все равно будет очищен из памяти при возврате из функции load_line , таким образом обеспечивая закрытие файла.

36
ответ дан 28 November 2019 в 01:46
поделиться
Другие вопросы по тегам:

Похожие вопросы: