I think its worth testing the result of radio.begin(); with something like:
if (!radio.begin()) {
Serial.println(F("radio absente!!"));
while (true) ; // erreur
}
[or your language of choice], as suggested in @J-M-L 's post from 2021. and elsewhere.
I think this begin method is not a void for a good reason: the device may not to be initialized reliably, and the libraries functioning is a bit random if it fails.