首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

[150分]请教,外部程序的错误导致主程序暂停运行,如何避免

2012-01-19 
[150分]请问,外部程序的异常导致主程序暂停运行,如何处理!程序流程是这样的t new Thread(new ThreadStar

[150分]请问,外部程序的异常导致主程序暂停运行,如何处理!
程序流程是这样的

t = new Thread(new ThreadStart(Listener));
t.Start();



Listener中死循环监听广播UDP消息,当有消息到来时
ExeCommand(udpcmd)

这是ExeCommand的一个重载函数
public string ExeCommandArray(string[] commandTexts)
  {
  Process p = new Process();
  p.StartInfo.FileName = "cmd.exe";
  p.StartInfo.UseShellExecute = false;
  p.StartInfo.RedirectStandardInput = true;
  p.StartInfo.RedirectStandardOutput = true;
  p.StartInfo.RedirectStandardError = true;
  p.StartInfo.CreateNoWindow = true;
  string strOutput = null;
  try
  {
  p.Start();
  foreach (string item in commandTexts)
  {
  p.StandardInput.WriteLine(item);
  }
  p.StandardInput.WriteLine("exit");
  strOutput = p.StandardOutput.ReadToEnd();
  p.WaitForExit();
  p.Close();
  }
  catch (Exception e)
  {
  strOutput = e.Message;
  }
  return strOutput;
  }
----------------------------------------
现在当CMD运行一个外部EXE时,有时候这个EXE会报出异常,问是否调试,我的主程序也暂停在那里,不再接收消息,直到我点击“不调试”……

这样的问题怎么解决?

[解决办法]
我顶!!!Mark!
[解决办法]

[解决办法]
没有研究过哦;

干什么不 开辟一个线程;
[解决办法]
顶你个肺
[解决办法]
本来就没什么人了...
[解决办法]
顶下 沉默的神
[解决办法]
再顶
[解决办法]
委托,回调

热点排行