title: Java vs Objective-C : Exception, reaching of finally block
body: <p>I test exceptions using in java an dobjective-C programs.</p>
  
  <p>In these tests, I see a difference in the way of finally block is reached when an exception is catched and rethrown.</p>
  
  <p>Here my java test :</p>
  
  <pre><code>    try {
          Boolean bThrow = true;
          System.out.println("try : before exception sent");
          if (bThrow) {
              throw new Exception();
          }
          System.out.println("try : after sent");
      }
      catch (Exception e) {
          System.out.println("catch, rethrow");
          throw e;
      }
      finally {
          System.out.println("finally");
      }
  </code></pre>
  
  <p>which displays :</p>
  
  <pre><code>try: before exception sent
  catch, rethrow
  finally
  </code></pre>
  
  <p>And here my objective-c test :</p>
  
  <pre><code>    @try {
          NSException *myexc = [NSException exceptionWithName:@"exceptionTest" reason:@"exceptionTest" userInfo:nil];
          BOOL bThrow = YES;
          NSLog(@"try : before exception sent");
          if (bThrow) {
              @throw myexc;
          }
          NSLog(@"try : after sent");
      }
      @catch (Exception *exception) {
          NSLog(@"catch, rethrow");
          @throw exception;
      }
      @finally {
          NSLog(@"finally");
      }
  </code></pre>
  
  <p>which displays :</p>
  
  <pre><code>try: before exception sent
  catch, rethrown
  *** Terminating app
  </code></pre>
  
  <p><strong>Code in finally block is not reached !</strong></p>
  
  <p>Why this difference ?</p>
  
  <p>[EDIT] Sorry, @try ... @try ... @try... was a mistake.
  I changed it, but the problem is the same, i can't reach finally block in objective-c test</p>