Trong một ứng dụng WPF, tôi có một nhiệm vụ truy cập cơ sở dữ liệu được rút gọn, được định kỳ chạy theo bộ đếm thời gian và nhiệm vụ này đã được thực hiện trong một luồng BackgroundWorker.Làm cách nào để xử lý các ngoại lệ từ chuỗi Chủ đề nền?
Khi cố gắng kết nối thất bại, tôi nêu một ngoại lệ bằng cách xây dựng try_catch
và tôi muốn cập nhật văn bản Thanh trạng thái trong chuỗi giao diện người dùng.
Có một số cấu trúc sự kiện dựng sẵn trong một BackgroundWorker
để triển khai thực hiện điều này, chẳng hạn như DoWorkEventHandler
hoặc RunWorkerCompletedEventHandler
, có thể được sử dụng cho điều này? Nếu không, làm thế nào để làm điều đó tốt hơn?
Edited (thêm):
Nếu tôi muốn để xử lý các ngoại lệ bên trong RunWorkerCompletedEventHandler
, sử dụng e.Error
tham số, nó không hoạt động. Trong trường hợp tôi để lại ngoại lệ bị hủy trong chuỗi BackgroundWorker
, ứng dụng sẽ treo và các điểm gỡ rối vào chuỗi mã được giải mã bên trong chuỗi BackgroundWorker
, nói rằng: Ngoại lệ bị hủy bởi mã người dùng.
Vì vậy, trong trường hợp này, luồng không chỉ dừng lại, báo hiệu cho RunWorkerCompletedEventHandler
rằng nó dừng lại với lỗi, nhưng toàn bộ ứng dụng ngừng hoạt động.
Nhờ tất cả để trả lời! Có tính đến một số câu trả lời, tôi đã cập nhật câu hỏi của mình với nhiều chi tiết hơn. – rem