method A()
{
try
{
Thread t = new Thread(new ThreadStart(B));
t.Start();
}
catch(exception e)
{
//show message of exception
}
}
method B()
{
// getDBQuery
}
B 中的异常但未捕获。它在.net中合法吗?
method A()
{
try
{
Thread t = new Thread(new ThreadStart(B));
t.Start();
}
catch(exception e)
{
//show message of exception
}
}
method B()
{
// getDBQuery
}
B 中的异常但未捕获。它在.net中合法吗?
When A
is finished executing B
might still be running as it is on an independent thread. For that reason it is impossible by principle for A
to catch all exceptions that B
produces.
Move the try-catch to inside of B
. The Thread
class does not forward exceptions.
Better yet, use Task
which allows you to propagate and inspect exceptions.