catch(WebException ex )
                {                MessageBox.Show(ex.Message, "错误");
            }
其中 WebException ex里的ex   我个人感觉只是申明还没初始化 怎么可以直接就用ex.message这个方法了。。求解释啊 在线等

解决方案 »

  1.   

    当捕获错误时,ex 早就被实例化了,可以认为ex只是个参数,由系统传递过来
      

  2.   

    catch(WebException ex ) 不是初始化了吗
      

  3.   

    WebException ex 
    在这里不是申明的ex的意思,这个跟函数定义参数类似,是别人传入进来的这里是系统捕获到一个WebException异常,系统把这个异常抛出来了等待你来处理,这时候ex已经实例化了
      

  4.   

    是系统捕获到异常抛出来给你处理,已经实例化了catch(WebException ex )跟你定义函数参数类似,ex是通过外面传入进来的,所以已经实例化
      

  5.   

    还不是很清楚啊   这个exception类比较特殊还是怎么了 ex只是参数吗  不是webexception的 对象吗
      

  6.   

    你可以看看.net的异常捕获机制,
    当捕获异常后就封装成包,再在catch处抛出来,
    这里只是调用而已,
    异常类型都是内置的,
    你用Exception ex也不会错的
      

  7.   

    ex是webexception的对象,但是它的值是外面传进来的,你用的时候它已经实例化了
      

  8.   

    给你举个例子private int Divid(int a, int b)
    {
        if(b==0)
          throw new Exception("除数不能为0");
        return a/b;
    }
    private void Main()
    {
        int i=200,j=100;
        try
        {
        int x=Divid(i, j-100);
        }
        catch(Exception ex)
        {
            MessageBox(ex.Message); 
      //此时弹出的对话框内容为“除数不能为0”,
      //这是throw new Exception("除数不能为0");抛出的,看到这里的new了吗,这儿给ex实例化了    }
    }