我是用c#2005 调用一个外部程序,使用多线程,但是,有的时候外部程序会报出<该内存不能为“read”或“written”>这样的提示,然后弹出一个对话框,必须要手动去单击确定或者取消,C#才可以继续执行,没有办法,让c#自动提过,就是错误不管他弹出不弹出,C#遇到错误继续执行,
如果能解决我可以把我的分数全部给你阿

解决方案 »

  1.   

    异常捕获啊...try
    {
       //可能出现异常的代码
    }
    catch
    {
    }
      

  2.   

    谢谢楼上的各位大哥,是这样的,我调用的是外部程序,这个错误是在外部程序报出的,不是c#导致的,比如说我c#调用hello.exe,这个错误是有hello.exe导致的,这个时候好像捕捉不到阿
      

  3.   

    除了修改那个外部程序的Bug以外,没有别的办法~
      

  4.   

    楼上说的有些道理,不过是这样的,我具体说说,我主要是想转换视频,我利用c#调用ffmpeg,然后转换外部视频,但是转换可能由很多结果,比如说成功,失败,出现非法操作的经常是在转换到一半的时候出现,如果不等待万部程序运行结束就拿不到结果,难道真的没别的办法吗55555555555555555555
      

  5.   

    对,我哪里就是由一个waitForExit()否则得不到结果
      

  6.   

    一个麻烦的做法...
    你针对极可能出错而且出错还想往下执行
    try
    {
       ///执行语句
       try
       {
           ///极可能出错的语句
       }
       catch
       {
       }
       //执行语句
    }
    catch
    {
    }
      

  7.   

    sinatly大哥所说的是使用两个try catch吗,但是我感觉好像抓不到外部程序的错误,
    还有flowersea312大哥所说的忽略错误,应该如何忽略呢,