Interesting...thanks for pointing that out!  It's sort of buried in  
the docs, though.  I don't like it, but that's probably related to my  
general dislike of exceptions (which developed after I wrote some of  
our current code, unfortunately).

-- 
Adam

On Sep 3, 2007, at 09:14, Christiaan Hofman wrote:

> No, you should write:
>
>     @try {
>         NSLog(@"try 2");
>         @throw @"Exceptions suck";
>     }
>     @catch(NSException *exception){
>         NSLog(@"2: caught %@", exception);
>         NSLog(@"2: name is %@", [exception name]);
>     }
>     @catch(id exception){
>         NSLog(@"3: caught %@", exception);
>     }
>
> The typing is everything. For multiple @catch blocks the first one  
> with a matching type is used.
>
> Christiaan
>
> On 9/3/07, Adam R. Maxwell <[EMAIL PROTECTED]> wrote:
> On Sep 3, 2007, at 08:35, [EMAIL PROTECTED] wrote:
>
> > Use specific @catch blocks to catch thrown  NSExceptions rather than
> > checking for a -name method.
>
>
> How can this work?  You'd need a nested exception handler inside the
> @catch.  I get this:
>
> 2007-09-03 09:02:06.254 test[7378:10b] *** -[NSCFString count]:
> unrecognized selector sent to instance 0x204c
> 2007-09-03 09:02:06.266 test[7378:10b] 1: caught *** -[NSCFString
> count]: unrecognized selector sent to instance 0x204c
> 2007-09-03 09:02:06.272 test[7378:10b] 1: name is
> NSInvalidArgumentException
> 2007-09-03 09:02: 06.276 test[7378:10b] try 2
> 2007-09-03 09:02:06.279 test[7378:10b] 2: caught Exceptions suck
> 2007-09-03 09:02:06.283 test[7378:10b] *** -[NSCFString name]:
> unrecognized selector sent to instance 0x20bc
> 2007-09-03 09:02: 06.287 test[7378:10b] *** Terminating app due to
> uncaught exception 'NSInvalidArgumentException', reason: '*** -
> [NSCFString name]: unrecognized selector sent to instance 0x20bc'
>
> --
> adam
>
> // cc test.m -fobjc-exceptions -framework Foundation -o test
>
> #import <Foundation/Foundation.h>
>
> int main (int argc, char const *argv[])
> {
>      NSAutoreleasePool *pool = [NSAutoreleasePool new];
>
>      NSString *eString = @"an exception";
>
>      @try {
>          NSLog(@"%d", [eString count]);
>      }
>      @catch(id exception){
>          NSLog(@"1: caught %@", exception);
>          NSLog(@"1: name is %@", [exception name]);
>      }
>
>
>      @try {
>          NSLog(@"try 2");
>          @throw @"Exceptions suck";
>      }
>      @catch(id exception){
>          NSLog(@"2: caught %@", exception);
>          NSLog(@"2: name is %@", [exception name]);
>      }
>      @catch(id exception){
>          NSLog(@"3: caught %@", exception);
>      }
>
>      [pool release];
>      return 0;
> }
>
> -------------------------------------------------------------------------
> This SF.net email is sponsored by: Splunk Inc.
> Still grepping through log files to find problems?  Stop.
> Now Search log events and configuration files using AJAX and a  
> browser.
> Download your FREE copy of Splunk now >>  http://get.splunk.com/
> _______________________________________________
> Bibdesk-develop mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/bibdesk-develop
>
> -------------------------------------------------------------------------
> This SF.net email is sponsored by: Splunk Inc.
> Still grepping through log files to find problems?  Stop.
> Now Search log events and configuration files using AJAX and a  
> browser.
> Download your FREE copy of Splunk now >>  
> http://get.splunk.com/_______________________________________________
> Bibdesk-develop mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/bibdesk-develop


-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >>  http://get.splunk.com/
_______________________________________________
Bibdesk-develop mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bibdesk-develop

Reply via email to