日期:2014-05-18  浏览次数:20837 次

throw new Exception之后(纯属散分)
public void Start()
  {
  if (_DeviceCom.IsOpen == true)
  {
  throw new Exception("串口未打开,无法开启测试。");
  }
  if (_TestStatus != DeviceEnum.TestStatus.Ended)
  {
  throw new Exception("正在进行测试,禁止重复开启测试。");
  }
  Thread ThTest = new Thread(new ThreadStart(Test));
  ThTest.IsBackground = true;
  ThTest.Start();//启动测试线程
  }
问:如果引发了以上的异常抛出,测试线程还会被开启吗?

------解决方案--------------------
当然不会开启了。
------解决方案--------------------
不会开启
------解决方案--------------------
不会,异常已经抛出了,顺序执行的话执行不到启动线程那边的代码。
------解决方案--------------------
throw new Exception之后,测试线程就不会被开启了(纯属接分)
------解决方案--------------------
throw后面的语句不会被执行了。
------解决方案--------------------
当然不会开启了
------解决方案--------------------
如果想要继续执行
把要测试的代码try{}起来 这样即使try中有异常,try{}后面的语句照样可以执行
------解决方案--------------------
不懂,还没学到。
------解决方案--------------------
如果不确认的话可以在throw new Exception("正在进行测试,禁止重复开启测试。");后面加return;应该调试会报错,提示有不可能运行到的代码(大概意思)。接分
------解决方案--------------------
不会开启,纯属接分。
------解决方案--------------------
楼上他们回答都对,路过,纯属接分
------解决方案--------------------
探讨

楼上他们回答都对,路过,纯属接分

------解决方案--------------------
一些正常的判断都使用 throw new Exception
好不好呢?



------解决方案--------------------
楼上他们回答都对,路过,纯属接分
------解决方案--------------------
不会开启的。。
------解决方案--------------------
vb下不一定
------解决方案--------------------
C# code

string str="abcd";

------解决方案--------------------
不会哦,亲