Используемый трап заранее не известен. Более того, он может возникнуть не благодаря ASSERT. Скажем, выход за границы массива.

Я хочу написать программу для запуска юнит-тестов. Самая простая часть уже сделана: получение из модуля списка процедур, тестирующих какой-то другой модуль, и запуск процедур. Теперь хотелось бы, чтобы по окончании работы программы она выдавала мини-отчёт: какая процедура отработала без проблем, а какая завершилась с ошибками.

Как продолжить работу, если выскочил трап, понятно. Как извлечь информацию о последнем трапе - тоже, вроде, можно разобраться. Но как сделать, чтобы окно трапа не появлялось? Если семнадцать процедур завершились с ошибками, то появится семнадцать окон трапа, с которыми непонятно, что делать. И очевидно, что сразу все семнадцать они нужны не будут.