Es kann viele Gründe geben, warum die Verbindung unterbrochen wird (Serverlast, Netzwerkproblem usw.). Dass Ihr Programm abstürzt, deutet darauf hin, dass Ihr Datenbankcode nicht durch try
geschützt ist Erklärung. Wenn Sie so etwas tun:
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
Ich werde nicht in eine langwierige Dissertation über die Behandlung von Ausnahmen einsteigen, aber es gibt eine Menge Ressourcen, wenn Sie einen Blick darauf werfen. Wie Sie damit umgehen, hängt von Ihrer spezifischen Situation ab - ob Sie die Ausnahme protokollieren, den letzten erfolgreichen Vorgang aufzeichnen, versuchen, von dort aus fortzufahren, oder ob Sie versuchen, das Ganze noch einmal zu machen, den Benutzer benachrichtigen usw.