任务错误处理- Visual studio停止
本文关键字:studio 停止 Visual 错误 处理 任务 | 更新日期: 2023-09-27 17:49:42
所以基本上我想在c#中测试任务。
我的代码如下: Task tm = new Task(Test);
tm.ContinueWith(ExceptionHandler, TaskContinuationOptions.OnlyOnFaulted);
tm.Start();
void ExceptionHandler(Task task)
{
var ex = task.Exception;
ex.Handle((x) =>
{
if(x is PictureNotRecognized)
{
MessageBox.Show(String.Format("An exception occured" + Environment.NewLine + "Program aborted: {0}" + Environment.NewLine + "Step: {1}" + Environment.NewLine + "Error Message: {2}", (x as PictureNotRecognized).Aborted, (x as PictureNotRecognized).CurrentStep, (x as PictureNotRecognized).Message));
return true;
}
return false;
});
}
void Test()
{
throw new Exception();
}
所以,当我运行应用程序时,它抛出异常,visual studio停止。只有当我再次按F5时,它才继续并跳转到ExceptionHandler
。如何在Visual studio中禁用此功能?如果异常是由使用throw new XXXX
您可以在调试->异常->命令语言运行时异常->系统->系统中禁用异常中断。异常->取消勾选"User-unhandled".
除非只有在调试时才会中断,用户不会注意到异常中断!但是Visual Studio注意到你没有像Try Catch构造那样处理异常。有关使用Task的异常处理的更多信息,请参阅:
http://msdn.microsoft.com/en-us/library/dd997415 (v = vs.110) . aspx
http://msdn.microsoft.com/en-us/library/dd537614 (v = vs.110) . aspx