Thuộc tính này luôn đúng. Nó được sử dụng để có thể là sai, cách trở lại trong NET 1.x ngày. Phiên bản đó cho phép một chuỗi chết trên một ngoại lệ chưa được giải quyết mà không có toàn bộ quá trình chấm dứt. Điều đó đã không hoạt động tốt, các lập trình viên đã không thực hiện xử lý sự kiện (hoặc không biết cách xử lý đúng đắn ngoại lệ từ sự kiện này), những chủ đề vừa chết mà không có bất kỳ thông báo nào. Hầu như không thể không có nguyên nhân này khó chẩn đoán thất bại chương trình.
Microsoft đã thay đổi hành vi mặc định trong .NET 2.0, ngoại lệ chưa được xử lý chấm dứt chương trình. Về mặt kỹ thuật, nó vẫn có thể ghi đè hành vi này, một máy chủ CLR tùy chỉnh có thể giữ cho quá trình còn sống bằng cách triển khai giao diện IHostPolicyManager. Và máy chủ lưu trữ mặc định hỗ trợ phần tử cấu hình <legacyUnhandledExceptionPolicy>
. Đừng sử dụng nó, theo cách đó thì con rồng.
Nguồn
2012-06-11 16:48:48
Chỉ đơn giản là thử, tôi có thể thấy rằng cùng một ngoại lệ unhanded (ví dụ: InvalidDataException) có IsTerminating được đặt thành true khi được thực hiện trong ứng dụng, nhưng nó được đặt thành false khi cùng một mã được thực hiện trong kiểm tra đơn vị (vstest.executionengine. exe của VS2017). –