I think this has more to do with "evolution" of error handling. With C/C++ (before exception handling was added) languages, if a function fail'sfailed, the only way to tell was through the return value (e.g. HRESULT
in win32). So typically you ended up catching exit codes of each function call and do a check. This approach makes code messier. And lot of times developers will just ignore to do this checkavoid adding these checks out of laziness.
With the introduction of exception handling, developers now devs had two options to raise erroran error. So the "exception" word was used to distinguish errors from "exit status" errors. OverAfter a period of time, exception handling has become a popular means of error propagationway to propagate errors because code is much easier to read, maintain and there can be a single place where you can have error handling logic.