У меня есть скрипт Matlab, состоящий из нескольких ячеек, которые все должны быть в состоянии выполнить независимо (т.е. мне может потребоваться выполнить одну ячейку, чтобы выполнить другую, но пока я не очищу рабочее пространство, я смогу выполнить вторую ячейку снова без выполнения первого). Код в этих ячейках иногда дает сбой (конечно), и в случае их возникновения я хочу выполнить определенную команду.
Поскольку код распространяется по нескольким независимым ячейкам, я не могу использовать блок try / catch для достижения этой цели - нет, если я не добавлю по одному блоку try / catch в каждую ячейку, чего я не хочу. Каждая ячейка довольно короткая (в основном несколько строк с вызовами функций), поэтому введение блока try / catch в каждую ячейку, вероятно, удвоит длину скрипта.
В частности, я хочу открыть файл журнала (diary filename.log
) в первой ячейке, который автоматически закрывается (diary off
) после того, как ошибка возникла (и была зарегистрирована) из любой ячейки. Этот параметр должен быть включен, по крайней мере, до тех пор, пока файл журнала снова не будет закрыт, и должен быть установлен программно (я хочу установить его в той же ячейке, где я открываю файл журнала).
Как мне это сделать?