Функция-обсервер выполняется асинхронно и, соответственно, не вызывает остановки синхронного кода.
Гуглите отладку ошибок в асинхронном коде, так как я слабо понимаю, чего именно вы хотите добиться. Была бы Node.js - посоветовал бы домены. Promise слабо подходят для отладки ошибок в событиях.
Хотите подобного, но синхронно - пробуйте Proxy. Хотя они совсем сырые, за ключом и подойдут далеко не всегда.