Часто, особенно во время разработки скриптов и функций, я останавливаю свои программы MATLAB, используя Ctrl+C. Однако иногда некоторые вещи необходимо обработать даже после этого, например, закрыть файл ручки.
Сообщения, отображаемые после нажатия Ctrl+C, очень похожи на обычную трассировку стека, но оператор try-catch не перехватывает их, поэтому безопасной обработки исключений недостаточно. Функциональность onCleanup
работает, но только в функциях. Предложение использовать dbstop if error
также не является правильным решением, поскольку требует ручного решения любых проблем.
Существуют ли другие способы обработки Ctrl+C?
Редактировать: обратите внимание, что это не тот же вопрос, что и вопрос, указанный в комментариях, поскольку я хочу иметь возможность выполнять некоторый код для обработки ресурсов, а не поддерживать данные. Конечно, ведение данных позволяет обрабатывать ресурсы вручную, но это очень неудобно и будет очень плохо сказываться на моей производительности на определенных этапах разработки.