this post was submitted on 01 Aug 2025
149 points (96.9% liked)

Programmer Humor

25425 readers
1941 users here now

Welcome to Programmer Humor!

This is a place where you can post jokes, memes, humor, etc. related to programming!

For sharing awful code theres also Programming Horror.

Rules

founded 2 years ago
MODERATORS
 

Don't say anyway, say anyhow

you are viewing a single comment's thread
view the rest of the comments
[โ€“] r00ty@kbin.life 5 points 1 day ago (1 children)

It is a nicer way I think. But other languages do allow for good exception handling. It's just there's not a clear cut sign that no-one has handled the exception yet. So often it doesn't get handled.

What I mean by that is. If I have a function that returns say a string. As a caller, you don't know whether that function is always going to return a string (it handled exceptions internally), or if it returns a string but might return an exception. So you need to try/catch (or whatever is the equivalent in that language). It's not clear to the caller.

Whereas with rust, if you're holding a value wrapped in a result, it means that any exception hasn't been handled yet. If you're not passing the value (still inside the result) back to a caller, tag you're it! :P

I like the flexibility Rust offers with the result type. It makes the error handling part of the control flow rather than an afterthought.