Don't promises address this exception problem because the top level code is calling the then () function, which can then throw an exception to the appropriate caller?
Yes, I believe so. I was just addressing a the original suggestion, which was to avoid using promises and use vanilla callbacks instead. In that architecture, exceptions don't seem to be workable.