"зависаниями", вероятно, описываются попадания в исключения, для
обработчиков которых использованы дефолтные while(1). хотя никто не
мешает прямо в обработчиках исключений, как и в обработчиках
прерываний сторожа, делать "что-то важное":), ну и вызывать сброс.
но ТС пытается вытащить часть этих кишок наружу. если единственный (ведущий) программист на проекте не сам ТС, то эти потуги явно для "разборок", IMHO