The problem is that errors can and will happen, and exceptions make the control flow of error handle unpredictably convoluted.
From a control flow point of view exceptions are worse than COMEFROM.
> It also makes it easier to let callers further up in the call-chain to set the policy of of what to do in case of an error.
Callers that do not have any of the real context in which the error happened, and that often can't do anything particularly smart about it other than throw their hands in the air.