• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: Can't trap uncaught exceptions on Snow Leopard
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Can't trap uncaught exceptions on Snow Leopard


  • Subject: Re: Can't trap uncaught exceptions on Snow Leopard
  • From: Ken Thomases <email@hidden>
  • Date: Sat, 19 Dec 2009 05:15:50 -0600

On Dec 19, 2009, at 4:56 AM, Oleg Krupnov wrote:

On Fri, Dec 18, 2009 at 1:48 AM, Ken Thomases <email@hidden> wrote:
On Dec 17, 2009, at 8:41 AM, Oleg Krupnov wrote:

On Leopard, I used to override [NSApp reportException:] method to
track all uncaught exceptions that occur in my app.

However, I have just discovered that on Snow Leopard, this method
never gets called. Instead, the application handles the exception
somewhere inside and I only get this message in the console:

HIToolbox: ignoring exception 'Test crash' that raised inside Carbon
event dispatch

How to work around this and receive the uncaught exceptions somehow?

Have you looked at the NSExceptionHandler class and the accompanying guide?

Yes, I tried it but it does not seem to have any effect.

I checked the [[NSExceptionHandler defaultExceptionHandler]
exceptionHandlingMask], and it's 0. I tried to set it to various
combinations, but nothing changes in the behavior of the app.

I also tried NSSetUncaughtExceptionHandler, but it does not work either.

Any ideas? Thanks!

On taking a second look at the particular exception, it's inside HIToolbox and Carbon. It's almost surely a C++ exception. It won't be visible to the Cocoa/Objective-C exception handling mechanisms. Also, I don't believe there's any way to inject your own handling between the point where it's thrown and caught if that's all inside of code you don't control. You should be able to break on the C++ throw in the debugger, though.


Also, you keep referring to the exception as uncaught when it clearly is caught. What do you think is logging that message if not an exception handler?

Regards,
Ken

_______________________________________________

Cocoa-dev mailing list (email@hidden)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden


  • Follow-Ups:
    • Re: Can't trap uncaught exceptions on Snow Leopard
      • From: Oleg Krupnov <email@hidden>
References: 
 >Can't trap uncaught exceptions on Snow Leopard (From: Oleg Krupnov <email@hidden>)
 >Re: Can't trap uncaught exceptions on Snow Leopard (From: Ken Thomases <email@hidden>)
 >Re: Can't trap uncaught exceptions on Snow Leopard (From: Oleg Krupnov <email@hidden>)

  • Prev by Date: Re: Can't trap uncaught exceptions on Snow Leopard
  • Next by Date: Re: Can't trap uncaught exceptions on Snow Leopard
  • Previous by thread: Re: Can't trap uncaught exceptions on Snow Leopard
  • Next by thread: Re: Can't trap uncaught exceptions on Snow Leopard
  • Index(es):
    • Date
    • Thread