private void dispaly()
{
    try
    {
    .....
    }
    catch(Exception err)
    {
      MessageBox.Show(err.Message);
    }
}private void show()
{
    try
    {
      display();
    }
    catch
    {
    }
}请问在show方法中如何获得display方法中出现的异常,这个异常已经在display方法中捕获并输出,但我想在show方法中也能得到该异常的信息,
这个有没有办法实现呢?谢谢

解决方案 »

  1.   

    可以将dispaly()方法中的异常信息当成结果集return回去,返回给show()
      

  2.   

    方法二:
    在dispaly()中的catch里 throw err;  将异常向上抛给它的父亲,但父亲里必须catch,否则,会继续向上抛
      

  3.   

    我在调用一个dll里的方法时,该方法产生了一个异常,这个异常在DLL里已经捕获并且用MessageBox输出了,
    现在我想在外部再得到这个异常数据,这个能不能实现?
      

  4.   


    private void dispaly() 

        try 
        { 
        ..... 
        } 
        catch(Exception err) 
        { 
          MessageBox.Show(err.Message); 
           throw err;
        } 
    } private void show() 

        try 
        { 
          display(); 
        } 
        catch (Exception err)     { 
           对 err 处理...
        } 
      

  5.   

    private void dispaly() 

        try 
        { 
        ..... 
        } 
        catch(Exception err) 
        { 
    throw err;
          MessageBox.Show(err.Message); 
        } 
    } private void show() 

        try 
        { 
          display(); 
        } 
        catch 
        { 
        } 

      

  6.   


    在DLL的源代码里修改该方法是最简单的了。不行的话,只能看看能不能捕获MessageBox了。
      

  7.   

    如果dll不是你写的,那。也许 你要用softice之类的工具去取传给messagebox的错误提示信息然后把messagebox跳掉了 
      

  8.   

    在dispaly()的catch里加上抛出异常throw err;
      

  9.   

    在方法一中捕获异常之后在抛出
    private void dispaly() 

        try 
        { 
        ..... 
        } 
        catch(Exception err) 
        { 
          MessageBox.Show(err.Message); 
          Throw err;
        } 
    } private void show() 

        try 
        { 
          display(); 
        } 
        catch (Exception err)
        { 
           //捕获异常
        } 

      

  10.   

    throws new Exception抛出新的异常