What if in the time between initialization of cosmic_ray to False, and the time this if statement executes, a legitimate cosmic ray flips the bool bit representing cosmic_ray?
Simple! Make it an int.
int cosmic_ray = 0
if (bool(cosmic_ray)) {
throw cosmicRayException()
}ah, a classic TORTOF bug (time-of-ray, time-of-flip)
This is a really good point and a common error in bit flip detection code. To avoid this kind of look-before-you-leap hazard the following is recommended:
Ask-for-forgiveness as an error detection pattern avoids these kinds of errors entirely.