Rust handles this much better.
Error handling is still explicit, but it gives you the tools needed to make it less tedious.