Tôi đang chạy chương trình biểu mẫu Windows thực hiện tất cả công việc của nó trên một chuỗi khác. Sau một thời gian, giao diện người dùng bị đóng băng và ngừng phản hồi. Chủ đề nền vẫn hoạt động tốt (tôi có thể thấy rằng từ công việc đã hoàn thành).Ngoại lệ cơ hội đầu tiên của loại 'System.IndexOutOfRangeException' trong exe trong cửa sổ đầu ra
tôi có ngoại lệ này:
Một cơ hội ngoại lệ đầu tiên của loại 'System.IndexOutOfRangeException' trong exe
Khi tôi bắt nguồn từ dòng ngoại lệ và chạy nó một lần nữa, tôi nhận điều này:
Chủ đề
<No Name>
(0x19b4) đã thoát với mã 0 (0x0).
Dòng mã chạy tốt nhưng nó cho số System.IndexOutofRangeException
.
MatchCollection tempcollection = Regex.Matches(document,
"(?<data>More information from(.|\\r|\\n)*?</div>)");
if (tempcollection.Count == 0)
{
return Result;
}
string ThisDiv = tempcollection[0].Groups["data"].Value;
// The above line shows exception in Output Window,
// otherwise it works fine and moves to next line.
UPDATE: Tôi đã nhìn thấy đầu ra cung cấp thông tin về tất cả các ngoại lệ cho dù đó là bắt hay không, tôi nghĩ đó là nguyên nhân gây ra đóng băng UI nhưng đó không phải là.
- Vui lòng giúp tôi loại bỏ ngoại lệ này.
- Đây có phải là ngoại lệ không được kiểm soát; Tôi đã học được trong các nghiên cứu của tôi rằng. Net không có ngoại lệ không được kiểm soát. Xin vui lòng làm rõ điều này cho sự hiểu biết của tôi.
Tại sao bạn không đặt dòng tempcollection [0] .Groups ["data"]. Giá trị bên trong câu lệnh if "if (tempcollection.Count! = 0)"? Nếu số đếm là 0, "string ThisDiv = tempcollection [0] .Groups [" data "]. Value;" sẽ ném ngoại lệ "Ngoài phạm vi". –