If you were designing a standard library of a high level language (like Rust, C++, etc.) what would it do if while getting the current time of day (e.g. SystemTime::now()
) it encountered a failed kernel system call (e.g. to clock_gettime
) and why?
What do you think the existing implementations do?
- Return error or raise exception
- Return 0
- Return undefined values (like stack garbage)
- Panic/crash/segfault
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