相关疑难解决方法(0)

Visual Studio:"异常未处理时中断"选项会发生什么?

据我所知,Visual Studio(2008年和2010年)曾经有一个选项可以在抛出的异常或未处理的异常上中断.现在,当我打开Exceptions对话框(Ctr + Alt + E)时,它只是在抛出异常时提供中断:

在此输入图像描述

我已经尝试调整该对话框中的列,但这没有帮助.这是一个错误,还是我错过了什么?

debugging exception visual-studio-2010 visual-studio-2008 visual-studio

30
推荐指数
1
解决办法
2971
查看次数

如何使用ContinueWith正确管理任务中的异常

在阅读有关任务和exepcion管理的信息后,我使用此代码来管理任务中抛出的异常:

Task<Object> myTask = Task.Factory.StartNew<Object>(doTask, CancellationToken.None,   TaskCreationOptions.None, TaskScheduler.Default);
myTask .ContinueWith(task => afterTask(task), TaskScheduler.FromCurrentSynchronizationContext());
Run Code Online (Sandbox Code Playgroud)

doTask和AfterTask在哪里:

private <Object> doTask() {
    throw new Exception("BOOM");
}

private afterTask(Task<Object> aTask) {

        if (aTask.IsFaulted)
        {
            MessageBox.Show(aTask.Exception.InnerException.Message);
        }
        else //whatever
}
Run Code Online (Sandbox Code Playgroud)

抛出Exception Boom时,Visual Studio会显示一条警告,通知未捕获异常但如果我继续执行异常则在afterTask函数中处理.

这段代码是正确的还是我错过了解任务的一些基本行为?有什么办法可以避免调试器发出没有捕获到execption的警告?有点烦人......

提前致谢

c# multithreading exception task faulted

8
推荐指数
1
解决办法
1万
查看次数