When `peers.dat` is corrupted an error message is shown: `Invalid or corrupt peers.dat (Checksum mismatch, data corrupted).` then the node restart.

Most of our users aren't really tech enough to manually delete the `peers.dat` files, nor can we detect it for them. It means that this error give us lot's of work on our support team when somebody is impacted.

`peers.dat` isn't an essential file, as such Bitcoin Core should just be fine restarting without crashing.

A bash workaround to detect the checksum mismatch would also considerably help us.
erase_collision = true;
                } else if (current_time - info_old.m_last_try < ADDRMAN_REPLACEMENT) { 
                    
                    if (current_time - info_old.m_last_try > 60s) {
                        LogPrint(BCLog::ADDRMAN, "Replacing %s with %s in tried table\n", info_old.ToString(), info_new.ToString());
                        
                        Good_(info_new, false, current_time);
                        erase_collision = true;
                    }
                } else if (current_time - info_new.m_last_success > ADDRMAN_TEST_WINDOW) {
                    
                    
                    
                    LogPrint(BCLog::ADDRMAN, "Unable to test; replacing %s with %s in tried table anyway\n", info_old.ToString(), info_new.ToString());
                    Good_(info_new, false, current_time);
                    erase_collision = true;
                }
            } else { 
                Good_(info_new, false, Now<NodeSeconds>());
                erase_collision = true;
            }
        }
        if (erase_collision) {
            m_tried_collisions.erase(it++);
        } else {
            it++;
        }
    }
}
std::pair<CAddress, NodeSeconds> AddrManImpl::SelectTriedCollision_()