Có thể có nhiều lý do khiến kết nối bị giảm (tải máy chủ, sự cố mạng, v.v.). Việc chương trình của bạn gặp sự cố cho thấy rằng mã cơ sở dữ liệu của bạn không được bảo vệ bằng try
bản tường trình. Nếu bạn làm như thế này:
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
Tôi sẽ không đi sâu vào một luận văn kéo dài về việc xử lý ngoại lệ nhưng có rất nhiều nguồn tài liệu có sẵn nếu bạn để ý. Cách bạn đối phó với nó sẽ phụ thuộc vào tình huống cụ thể của bạn - có ghi lại ngoại lệ, ghi lại hoạt động thành công gần đây nhất hay không, có cố gắng tiếp tục lại từ vị trí cũ của bạn hay không hay cố gắng làm lại toàn bộ, hãy thông báo cho người dùng , v.v.