0

请查看以下示例代码:

try
{
      string str = MyMethod();
}
catch
{

}
public string MyMethod()
{
     CookieContainer cookieJar = new CookieContainer();
     ... -> Some Codes That Make An Exception
}

如何将 cookieJar 传递给 Catch 方法?

提前致谢

4

3 回答 3

3

你做一个新的

public class CookieJarException : Exception
    {
        public CookieJar Jar {get; private set;}

        public CookieJarException(CookieJar a)
        {
            Jar = a;
        }

    }

然后你

throw new CookieJarException(cookieJar);
于 2012-10-13T13:58:14.790 回答
1
  1. 通过使其成为全局变量。

  2. 通过定义您自己的异常类,该类继承自System.Exception一个要保存的属性cookieJar。然后你会有一个try/catchinMyMethod()来捕获任何异常并引发它CookieLovingException,设置属性和InnerException.
    然后外部处理程序将catch CookieLovingException ex.

于 2012-10-13T13:55:12.427 回答
-2

您可以在此处使用 finally 块。finally 总是被执行

        public string MyMethod()
        {
            CookieContainer cookieJar = new CookieContainer();
            try
            {

                // Some Codes That Make An Exception
                string str = MyMethod();
            }
            catch (Exception)
            {
                 if (cookieJar != null)
                {
                    // do whatever u want
                }
            }
            finally
            {
                if (cookieJar != null)
                {
                    // do whatever u want
                }
            }
        }  
于 2012-10-13T13:58:11.720 回答