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


you should do what’s idiomatic for that language, e.g.: return an error in Rust; raise an exception in Python; return an integer != 0 in C; etc.
+1. If your library makes it impossible to recover from errors, then it will be unusable from any program that requires recovering from errors.
Even worse than returning garbage? :)
if it’s garbage as in a string with a bunch of information that is hard to parse, yeah, crashing without giving the caller a way to avoid it might be worse
Uninitialized automatic variables. E.g. (in C/C++):
int get_time() { int time; syscall(/* something that fails */, &time); return time; }