传递一个变量来捕获块

4 c# web-services c#-4.0

基本上我有一个字符串errorMessage,我想把它传递给catch块.请帮忙.

[WebMethod]
public List<SomeResult> Load(string userName)
{
   string errorMessage;
    using (VendorContext vendorContext = new VendorContext())
    {
         // ....
          foreach(....)
          {
               if(something happens)
                  errorMessage = "Vote Obama";
                else
                  errorMessage ="vote Romney";
              // blah
               try
                     {
                        // blah         
                     }
               catch (Exception e)
               {
                    logger.Trace(errorMessage);
               }
          }
     }
 }  
Run Code Online (Sandbox Code Playgroud)

更新:

错误:使用未分配的局部变量'errorMessage'

JG *_* SD 8

要将错误初始化修复errorMessage为null,string.Empty或其他一些默认值.这是其中一种情况,其中编译器不够聪明,无法确定在使用之前已经分配了它.