Исключение не пойман - PullRequest
       29

Исключение не пойман

0 голосов
/ 08 сентября 2011

У меня очень простое приложение, мы передаем ему список наших веб-сайтов, и оно выполняет параллельный foreach для них, а внутри каждого действия отправляет ему http-сообщение.

Аналогично ниже:

static int success = 0
static void Main(string[] args) {
    try {
        Parallel.ForEach(sites, site=> {
            try{
                if(DoWebPost(site)) {
                    Console.Write("Posted {0} - {1}", ++success, site);
                }
            } catch {}
        });
    } catch {}
}

Я не могу понять, почему он вызывает исключение OutOfMemoryException, не говоря уже о том, почему это приведет к сбою всего приложения, а не только к перехвату и продолжению.

РЕДАКТИРОВАТЬ: Не совсем точно, где происходит исключение, так как оно не локально, только при работе в производстве ... что означает, что отладка недоступна. Приложение имеет 64 бита и редко использует более 100 мегабайт.

Ответы [ 2 ]

0 голосов
/ 08 сентября 2011

Вы упомянули код, который выложен, примерно так же, как код, который вы использовалиМожете ли вы опубликовать полный код или точный код, который вызывает это.Что-то говорит мне, что у вас какая-то утечка памяти, вам нужно сначала решить эту проблему.

0 голосов
/ 08 сентября 2011

В словах Марка Гравелла

Если вы «исправите» свой код, обработав это исключение, вы уткнете голову в песок.

...