没有被抓住的例外

时间:2011-09-08 13:16:01

标签: c# exception-handling out-of-memory parallel-extensions

我有一个非常简单的应用程序,我们提供了一个我们网站的列表,它对它们做了一个平行的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 :(得分:0)

words of Marc Gravell

  

如果你通过处理这个例外来“修复”你的代码,那么你就会把头埋在沙子里。

答案 1 :(得分:0)

您提到发布的代码与您使用的代码有些相同。 你真的可以发布完整的代码或导致这个问题的确切代码。 有些东西告诉我你有某种内存泄漏,你需要先解决这个问题。