this post was submitted on 05 Jul 2025
261 points (98.9% liked)
Programmer Humor
24790 readers
519 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
- Keep content in english
- No advertisements
- Posts must be related to programming or programmer topics
founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
The weird part of rust is replacing straight forward semicolons from other languages with the more verbose
.unwrap();
.Just kidding, don't lecture me about it.
You can also use a shorter version .clone();
?
But then someone will have to deal with it somewhere, better just unwrap it under the carpet.
Exactly
expr
The amount of people on the internet seriously complaining that both Rust error handling sucks and that
.unwrap();
is too verbose is just staggering.I’ll be honest, when I was learning to program in Java I mostly just wrapped errors in an empty try catch to shut them up, with no regard for actually handling them.
I assume most other learners do that too.
Java requiring you to write every exception that can happen in your code isn't helpful.
Explicit error types are great, but Java managed to make them on a way where you get almost none of the upside and is so full of downsides that indoctrinated a generation into thinking knowing your errors is bad.
I think the problem is that many introductory examples use
unwrap
, so many beginner programmers don’t get exposed to alternatives likeunwrap_or
and the likes.Me, every time I try searching a Rust question.
That's easy. Just do:
Can't resist pointing out how you should actually write the function in a "real" scenario (but still not handling errors properly), in case anyone wants to know.
If the list is guaranteed to have exactly two elements:
If you want to test the last element:
If you want to test the 2nd (1-indexed) element:
Even better to use
expect
with a short message of what the assumption is: "the string should contain a comma" if it ever panics you'll know exactly why.