|
|
1
3
首先在VS中以调试模式启动。以下是几个问题:
将永远不会执行,因为异常是线程的本地异常。如果在派生线程中引发异常,其他线程将看不到它。
这一行导致未处理的异常,因为在该线程中没有人捕获它。未处理的异常使整个应用程序失败。
o可以为空,这是字符串的有效值,如果o不是字符串,则代码将引发异常。你是说:
|
|
|
2
7
中的异常处理程序
|
|
|
3
1
异常不会遍历线程,它只会关闭正在执行的代码。换句话说,您永远不会捕获在单独线程上引发的异常。 |
|
|
4
1
后台线程上未处理的异常将终止应用程序。这是.NET2.0中的行为变化。如果不希望应用程序在出现这种情况时死掉,则应将代码包装为
|
|
|
5
0
您是否考虑过使用begininvoke和endinvoke而不是创建自己的线程?这将允许捕获异常并将其带回调用方法。
|