BTW, raising an NSException inside a C++ try{} catch(...){}
block also seems to work OK. It does get caught. Casey McDermott -------------------------------------------- On Sat, 6/16/18, Alastair Houghton <alast...@alastairs-place.net> wrote: Subject: Re: Exception handling To: "Jens Alfke" <j...@mooseyard.com> Cc: "Quincey Morris" <quinceymor...@rivergatesoftware.com>, "Casey McDermott" <supp...@turtlesoft.com>, "cocoa-dev list" <cocoa-dev@lists.apple.com> Date: Saturday, June 16, 2018, 10:25 AM On 15 Jun 2018, at 19:30, Jens Alfke <j...@mooseyard.com> wrote: > >> On Jun 14, 2018, at 5:58 PM, Quincey Morris <quinceymor...@rivergatesoftware.com> wrote: >> >> as someone already mentioned, NSExceptions can’t successfully cross dylib/framework boundaries. > > They can, actually; there is no problem with this at the ABI/runtime level. > > I think what you mean is that most libraries/frameworks don't make guarantees about properly handling exceptions thrown into them, i.e. from a call into external code. Some C++ libraries do guarantee this (especially libc++), and even without guarantees a typical C++ lib using RAII will be relatively safe, but Objective-C code usually isn't written to be exception-safe, and C code of course can't be. Quite, though in principle there’s no reason C code couldn’t be exception safe, it’s just that there’s no language support for it (except on Windows where there are extensions to support SEH), so the C code would have to know about the relevant runtime data structures and associated behaviour. In practice, it’s very unlikely you’d ever find exception-safe C code, except in a language runtime or - rarely - on Windows when it’s been written to use SEH. Kind regards, Alastair. -- http://alastairs-place.net _______________________________________________ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) 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: https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com