Potrebbero esserci molti motivi per cui la connessione si interrompe (carico del server, problemi di rete, ecc.). Il fatto che il tuo programma vada in crash suggerisce che il codice del tuo database non è protetto da un try
dichiarazione. Se fai qualcosa del genere:
try
Using connect1 As New MySqlConnection(ConnectLocalhost.serverString)
connect1.Open()
Dim cmd = New MySqlCommand("set net_write_timeout=99999; _
set net_read_timeout=99999", connect1)
cmd.ExecuteNonQuery()
Dim BusinessReader = selectSomeQuery("Select *...", connect1)
Do While BusinessReader.Read
'random exception here'
'...more code'
Loop
End Using
Catch ex As Exception
' code breaks here on exception - recover from this point '
End Try
Non entrerò in una lunga dissertazione sulla gestione delle eccezioni, ma ci sono molte risorse là fuori se dai un'occhiata. Il modo in cui lo gestirai dipenderà dalla tua situazione specifica:se registrare l'eccezione, registrare quale è stata l'ultima operazione riuscita, se provare a riprendere da dove eri o se provare a rifare tutto da capo, avvisare l'utente , ecc.