【发布时间】:2011-01-23 13:06:41
【问题描述】:
我有这样的线程,在我看到示例后link text
ThreadStart _threadStart = new ThreadStart(delegate()
{
try
{
threadFunction(httpContext);
}
catch (Exception ex)
{
throw ex;
}
});
Thread _thread = new Thread(_threadStart);
_thread.Start();
当异常发生时,它不会在启动它的线程中重新抛出。 那么我做错了什么或怎么做?
注意:感谢所有先进的 cmets
【问题讨论】:
-
请注意,您应该永远像您在此处那样重新抛出异常。只需在 catch 块中执行
throw;就足够了…… -
我知道我会抛出从“System.Exception”继承的自定义异常并带有消息
-
你必须抛出一个 new 异常来添加你想要添加的信息。将 original 异常作为 InnerException 传递。仅当添加的信息具有很高的价值时才这样做,因为这会使故障排除更加困难。
标签: c# multithreading