Настройка диагностических сообщений об ошибках в больших проектах Mathematica

Всякий раз, когда я создаю большой проект Mathematica, я сталкиваюсь с этой проблемой: Предотвращение лавины ошибок времени выполнения в Mathematica , т.е. сообщения об ошибках Mathematica непрозрачны, архаичны и легионы.

Идея состоит в том, чтобы отключить все собственные сообщения об ошибках Mathematica и реализовать собственную проверку типов и сообщения об ошибках для каждой функции и модуля. Однако я не нашел простого и эффективного способа сделать это, и в итоге я получаю, например, некоторую функцию, генерирующую ошибку. 20 функций вызывает глубокий вызов, а затем получает целый каскад сообщений об ошибках вплоть до основной процедуры.

Как бы вы настроили для этого простой механизм, который генерирует только одно сообщение об ошибке в функции, в которой возникла ошибка, и простой список цепочки вызовов функций?

РЕДАКТИРОВАТЬ: Так как оно появилось в паре ответов; Я специально ищу что-то легкое в отношении вывода, которое он производит (в противном случае я мог бы просто придерживаться сообщений об ошибках Mathematica) и, очевидно, также легкие в вычислительных накладных расходах. Таким образом, хотя Stack и Trace определенно не требуют больших затрат, их вывод в сложных проектах не поддается быстрому синтаксическому анализу, и необходимо проделать некоторую работу по его упрощению.

18
задан Community 23 May 2017 в 10:30
поделиться