Я запускаю программу формы Windows, которая выполняет всю свою работу в другом потоке. Через некоторое время пользовательский интерфейс зависает и перестает отвечать. Фоновый поток все еще работает нормально (я вижу это по проделанной работе).
Я получил это исключение:
Исключение первого шанса типа «System.IndexOutOfRangeException» в exe
Когда я проследил строку исключения и снова запустил ее, я получил это:
Поток
<No Name>
(0x19b4) завершился с кодом 0 (0x0).
Строка кода работает нормально, но выдает ошибку 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.
ОБНОВЛЕНИЕ: я видел, что выходные данные предоставляют информацию о каждом исключении, независимо от того, перехвачено оно или нет, я думал, что это является причиной зависания пользовательского интерфейса, но это не так.
- Пожалуйста, помогите мне избавиться от этого исключения.
- Это непроверенное исключение; В ходе учебы я узнал, что в .Net нет непроверенных исключений. Пожалуйста, разъясните это для моего понимания.