I know about ? in Rust - the one thing that isn't very clear to me is how often it is enough. That is, with Go, it's quite typical to do something like:
result, err := call()
if err != nil {
return fmt.Errorf("Error while trying to call: %v", err)
}
Essentially manually building a stack trace. If just doing "return err", you end up with calls to a REST service failing with messages like `couldn't parse "" as int` even in internal logs, which isn't helpful. With exceptions (in any language except C++), the stack trace is often decent enough.Does ? add any kind of context implicitly, or do you have to actually pattern match manually to add context?