6
Handling of unlikely syscall errors
(programming.dev)
Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!
Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.
Hope you enjoy the instance!
Rules
Follow the wormhole through a path of communities !webdev@programming.dev
I think you should make the overwhelmingly likely case crash in a controlled way, but provide a way to handle it for people who truly want to keep going in such strange conditions.
In rust I would panic in
now()
, but also provide a alternative call that returns a result named something liketry_now()
, similar toVec::with_capacity
andVec::try_with_capacity
.In languages that provide them, you could also throw a runtime exception that can be ignored and just bubbles up to main unless explicitly caught.
Interestingly, Rust is what brought me to this rabbit hole. It does indeed panic in
now()
[1], but the devs seem to be reluctant to provide thetry_now()
variant[2].[1] https://doc.rust-lang.org/nightly/src/std/sys/pal/unix/time.rs.html#124 [2] https://github.com/rust-lang/rust/issues/115482