Visual Studio 2017 (đột nhiên) vi phạm trên tất cả ngoại lệ. Điều đó có nghĩa là, nếu tôi tắt chúng trong các thiết lập ngoại lệ (nhấn CTRL + ALT + E trong khi gỡ lỗi), trình gỡ rối vẫn sẽ phá vỡ chúng. Tôi không biết thời tiết này chỉ là một lỗi của VS Tôi không thể thay đổi và do đó phải sống với, hoặc thời tiết có một giải pháp đơn giản cho nó.VS 17 vi phạm tất cả ngoại lệ
Đây là cửa sổ cài đặt ngoại lệ:
và điều này ngoại trừ VS phá vỡ vào lúc:
Bằng cách này, tôi cũng đã cố gắng mà trừ xinh đẹp (không có gì xảy ra nếu tôi nhấn nó) hoặc thêm một điều kiện không thể (VS vẫn phá vỡ ngoại lệ).
Tôi cũng đã thử nghiệm ngoại lệ khác (bằng cách đơn giản ném chúng), mà tôi ngừng hoạt động trước đây, và họ nhận được ném và tôi cũng đã thử nghiệm cùng một vấn đề trong các dự án khác, nơi mà nó xuất hiện cũng như:
tôi thậm chí còn đưa toàn bộ nội dung vào câu lệnh thử bắt nhưng VS vẫn bị ngắt:
InitializeComponent();
try
{
var t = new Thread (() =>
{
while (!IsHandleCreated) {} //It breaks here (similiar to the screenshots)
while (true)
Invoke (new Action (() => Size = new Size()));
});
while (true)
{
t.Start();
Thread.Sleep (100);
t.Abort();
}
}
catch (ThreadAbortException) { }
Nó không xuất hiện trong các IDE khác (như Rider) trên PC của tôi và không xuất hiện trên các máy tính khác trong VS. Nó không phải lúc nào cũng xuất hiện trên PC của tôi, nó chỉ mới bắt đầu gần đây và chỉ trong chế độ gỡ lỗi. Và nếu tôi tiếp tục thực hiện (với F5) nó chỉ tiếp tục bình thường.
EDIT Như tôi đã đưa catch bên thread nó cư xử một chút khác nhau (Tôi xin lỗi vì đưa hình ảnh ở đây, nhưng tôi nghĩ rằng họ ấn tượng hơn trong trường hợp đó):
Có thể bất kỳ ai giải thích hành vi này?
EDIT Dường như là bình thường đối với ThreadAbortExceptions
để ngắt lại ở cuối câu lệnh bắt. Tuy nhiên, VS vẫn không nên phá vỡ ngoại lệ này chút nào.
là lưu ý phụ: thử bắt của bạn phải nằm bên trong luồng được tạo, hiện tại bạn đang thử bắt được chuỗi giao diện người dùng và không có ngoại lệ nào ... –
@ M.kazemAkhgary Tôi đã chỉnh sửa câu hỏi của mình – MetaColon
Nhìn - đôi khi nó chỉ là quá tốn kém thời gian để cố gắng tìm và giải thích các lỗi trong trường hợp như thế này, nơi bạn không thể tái sản xuất nó theo cách "bình thường". (1) thử khởi động lại và (2) hoàn nguyên về mã trước đó của bạn và xây dựng đến thời điểm đó. Vâng vâng tôi biết bình luận của tôi không phải là "câu trả lời", nhưng bạn có thể dành hàng giờ liền để theo dõi điều này một cách vô ích - tốt hơn là cứ tiếp tục. –