As a programmer, when you call a function (or procedure or method or other piece of code), you should always check that it succeeded and if not, handle the error.
This is easy to get wrong.
A quality of a programming language is how easy it is to overlook handling of an error.
Good: Rust Result values; Python exceptions.
Bad: Unix system call integer codes; C functions that return NULL for error; shell scripts that invoke commands that can fail.
(Any command can fail.)
@penguin42 @liw The tool that makes the difference between a normal value for Rust's Result values is the unused_must_use warning that is enabled by default. Maybe having something like this in C would be nice, but it would be much more difficult to implement in a compiler because of all the different ways errors might be signalled.
Fosstodon is an English speaking Mastodon instance that is open to anyone who is interested in technology; particularly free & open source software.