比如
...//1
TRY
{
...//2
}
CATCH(...)
{
}会不会第一部分错了,然后影响到第二部分,然后在第而部分出错?

解决方案 »

  1.   

    TRY捕获的是异常
    不是错误
      

  2.   

    在try里有錯誤產生異常然後拋給catch處理,如果沒有錯誤catch不會執行
      

  3.   

    TRY块里面是可能会产生异常代码段,CATCH将捕获到错误。
      

  4.   

    示意代码如下(信手写的,没测试):
    int fun(int m,int n)
    {
      int l;
      if(n==0)
        throw "I'm called! A exception is throwed in fun()!";
      l=m/n;
      return l;
    }
    try
    {
      int a=rand(),b=rand(),c;
      c=fun(a,b);
      AfxMessageBox("Call me! No Exception is throwed in fun()");
    }
    catch(char* errMes)
    {
       AfxMessageBox(errMes);
    }
      

  5.   

    楼上的,我不是这个意思。
    比如
    INT  FUN()
    {
          ....//1
          TRY{
            ...//2
          }
          CATCH(...)
          {
          }}
    会不会第一部分错了,然后影响到第二部分,然后在第而部分出错?
      

  6.   

    异常一定是在try{}中出去,不是管部份,都是在try{}中调用才抛出的
      

  7.   

    哦,这样啊,如果是你说个这个形式,也没关系,跟我举的例子本质上一回事,你的函数FUN实际上就相当于是WinMain或main主函数啊!
    INT  FUN()//相当于是WinMain或main主函数
    {
          ....//1--相当于是int fun(int m,int n){}
          TRY{
            ...//2--相当于是 c=fun(a,b);
          }
          CATCH(...)--相当于是catch(char* errMes)      {
          }}