Dealing with function failures in C++
Andrzej Krzemieński