如果方法调用成功(返回非-1值),则将返回值赋给 this.maxChCounts ,请问如果方法调用失败,我要怎样不做处理?谢谢       private int maxChCounts;//最大通道数    public void InitMaxChCounts()
        {
            try
            {
                if (SsmGetMaxCh() != -1)
                    this.maxChCounts = SsmGetMaxCh();
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }

解决方案 »

  1.   

    我不是想return啊,问题是现在我要初始化程序,如果调用函数成功则OK,如果调用初始化函数失败,要怎样得到失败的信息啊?
      

  2.   

    else
      MessBox.Show("初始化失败");
    还有吗
      

  3.   

         public   void   InitMaxChCounts() 
                    { 
                            try 
                            { 
                                    if   (SsmGetMaxCh()   !=   -1) 
                                            this.maxChCounts   =   SsmGetMaxCh(); 
                            } 
                            catch   (Exception   ex) 
                            { 
                                    throw   ex; 
                                    return ex.message();
                            } 
                    }
      

  4.   


    public   bool InitMaxChCounts() 
     { 
        try 
        { 
            if   (SsmGetMaxCh()   !=   -1) 
            {
              this.maxChCounts   =   SsmGetMaxCh(); 
            }
            else 
            {
              return false;
            }
        } 
        catch   (Exception   ex) 
        { 
            throw   ex; 
            return false;
        } 
        return true;
     }
      

  5.   

    public bool InitMaxChCounts() 
    {
        try 
        { 
            if(SsmGetMaxCh()! = -1) 
            {
              this.maxChCounts = SsmGetMaxCh(); 
              return true;
            }
        } 
        catch(Exception ex) 
        { 
            throw ex; 
        }
        finially{
            return false;
        }
     }
      

  6.   

    手误 finially 改成 finally
      

  7.   

    现在要在构造函数中调用InitMaxChCounts() 方法。我是想用计时器不断的调用该方法,以便获得它的瞬时值。
      

  8.   

    楼主表达不清,  关注ING
      

  9.   

    1:你的代码里两次调用了同一个函数SsmGetMaxCh,这个很没有必要且可能会很费时或因再次调用出现想不到的问题。
    2:因为你的函数是跟据返回值来确定是否成功的(是否为-1)这个函数应该是不引发异常的。所以没有必要Try一下。
    3:如果真的有可能SsmGetMaxCh函数执行过程中出错,这个错误应由调用InitMaxChCounts函数的上一级来处理这个异常。
    建立改成如下:public void InitMaxChCounts()
    {
    int tmp = SsmGetMaxCh();
    if (tmp != -1)
    this.maxChCounts = tmp;
    }
      

  10.   

    那按照楼上的说法,是不是只要在函数中出现异常只要抛出就行了。
    throw new Exception()