Успешное прохождение тестов гарантирует лишь то, что тесты успешно пройдены, в отличие от статической типизации, которая исключает целые классы ошибок. Так и на JS и на Питоне продукты создают, никто не говорит, что это невозможно. Речь о том, что статическая типизация уменьшает вероятность ошибок/опечаток
.
У меня срабатывали try/catch внутри promise.