Oh so I can use this when I do design by contract in C++?
Yeah, same philosophy more or less. Or "defensive programming", or "offensive programming" which is like defensive programming but "assert everything everywhere"