>Exceptions are errors, and they should be treated as such in all cases.
This sounds an awful lot like a semantic argument.
If you have resumable exceptions, and can raise an exception deep in the stack to ask higher-stack callers for more information then that's an query.
If you raise an exception in non-exceptional circumstances then that's a scoped announcement.
The mere fact that in some languages they use the same run-time hooks as exceptions is irrelevant.
Exceptions, where I first learned of them in Smalltalk derive from a prototype class that isn't named Exception, and I've seen all manner of uses of the same machinery in stack-twisting.
After all once you have full closures, and full control over your stack and context why shouldn't you use it for higher order abstractions involving the stack-context?