接続が切断される理由はたくさんあります(サーバーの負荷、ネットワークの問題など)。プログラムがクラッシュしているということは、データベースコードがtry
によって保護されていないことを示しています。 声明。このようなことをした場合:
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
例外処理についての長引く論文には立ち入りませんが、ご覧になれば、そこにはたくさんのリソースがあります。どのように対処するかは、特定の状況によって異なります。例外をログに記録するか、最後に成功した操作を記録するか、元の場所から再開するか、すべてをやり直すかどうか、ユーザーに通知します。 、など。