Tôi biết cách xử lý ngoại lệ không được xử lý khi sử dụng Task
s, chỉ ném một phần chưa được giải quyết trong finalizer nếu mã người dùng chưa 'quan sát' nó.Tại sao ngoại lệ chưa được xử lý trên chuỗi hẹn giờ không làm hỏng quá trình
Tôi cũng biết cách ngoại lệ chưa được xử lý trong chuỗi không đồng bộ (ví dụ: Action.BeginInvoke()
) bị phát hiện và được ném lại vào cuộc gọi tham gia (ví dụ: Action.EndInvoke()
).
Điều tôi không hiểu là cách điều này không làm hỏng quy trình?
static void Main(string[] args)
{
var timer = new System.Timers.Timer() {Interval = 100};
timer.Elapsed += (o, e) => { throw new Exception(); };
timer.Start();
Console.ReadKey(true);
}
Vâng đây là 4-6 giờ trong cuộc sống của tôi, tôi sẽ không bao giờ quay lại. Thật là một quyết định khủng khiếp về phần của Microsoft cho việc này không sụp đổ. –