Earlier quoted context omitted.
The only time a function would "silently" return a -1 would be if you're not checking your returns for errors! Functions have return codes for a reason .
But oftentimes I want a correct result or an obvious failure, without having to handle tons of errors I don't even want to account for.
What you're saying is that you want your programs to blow up when a function returns a known error (such as "disk full").
One of the points of the article is that C makes you think about all the possible, well-documented, errors that each function can encounter. You know when you write C precisely what can go wrong at each stage, and decide the right way to handle it.
Seeing a dialog box pop up with some exception backtrace is one of the things that annoys me about 'modern' Java-esque languages: they seem to encourage developers to default to ignoring most exceptions.