>>105570054this is stupid
i wish people would already realize what "error" is. an alternative return path from function. exceptions just turn that path into a language feature, with added benefits like automatic error propagation, finally blocks, stack traces, seamless function composition etc. everything that go and rust programmers wish for and trying to emulate with various libraries (read https://docs.rs/anyhow/latest/anyhow/ and tell me how it's not a bastardized attempt to emulate exceptions).
for example, there is no difference between
//tuple as error path
(x, err) = foo();
if (err != nil) {}
//out parameter as error path
x = foo(&err);
if (err != nil) {}
//thread static location as error path
x = foo();
if (GetLastError() != nil) {}
//exception as error path
try {
x = foo();
}
catch (Exception err) {}