title: Problem catching exceptions
body: <p>I'm making an iphone based app and I have issues catching exceptions. So far, I've never had problem with try catches but here... well :D</p>
  
  <p>Here is the code that doesn't catch any exception :</p>
  
  <pre><code> - (void)updateView:(NSTimer*)t {
  
      NSMutableDictionary *requestResult = [[[NSMutableDictionary alloc] init] autorelease];
  
      @try {
          requestResult = [self.eqParam getParameters];
      }
      @catch (MMConnectionFailed * e) {
          [self performSelectorOnMainThread:@selector(noConnection) withObject:@"Could not reach server." waitUntilDone:YES];
      }
  }
  </code></pre>
  
  <p>The lower side methods throw well exceptions in debug mode in case of an exception but when this method is concerned, nothing is caught.</p>
  
  <p>Any clue?</p>
  
  <hr>
  
  <p>UPDATE :</p>
  
  <p>Finally, I found out where the problem was but I still don't know why the exception wasn't thrown on the lower lever. I changed the end of my <code>getParameters</code> method. Here :</p>
  
  <pre><code>- (NSMutableDictionary *)getParameters {
  
      @try {
          // be careful with NSMutableDictionary. Has to be used with setters to be correctly affected
          lastResponse = [MMSoapMethods getEquipmentParametersWithUserString:user equipmentId:equipmentId];
      }
      @catch (MMConnectionFailed * e) {
          @throw e;
      }
      @finally {
          if (self.lastResponse) {
              return lastResponse;
          }       
          else
              return nil;
      }
  }
  </code></pre>
  
  <p>I just removed the <code>@finally</code> surrounding tags and the exception was thrown. Strange, isn't it?</p>