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

Programmer Humor

25425 readers
969 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
[–] magic_lobster_party@fedia.io 22 points 2 days ago (3 children)

I prefer it over alternatives:

  • Exceptions: ”Oh no! Guess I’ll just die”
  • Error codes: ”If a non-zero error code is returned but no one notices, is it really an error?”
[–] r00ty@kbin.life 5 points 2 days 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

[–] magic_lobster_party@fedia.io 9 points 2 days ago

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

load more comments (1 replies)