[phobos] Calling abort() on unhandled exception

Sean Kelly sean at invisibleduck.org
Thu Jul 29 18:52:47 PDT 2010


Huh, so the ObjC behavior is to print the exception and abort() too.  Looks like good justification for doing it in D as well then. 

Sent from my iPhone

On Jul 29, 2010, at 5:14 PM, Michel Fortin <michel.fortin at michelf.com> wrote:

> Le 2010-07-29 à 19:50, Sean Kelly a écrit :
> 
>> Even on OSX I see an "Abort trap" message in the console when I exit an app in this way.  I'm inclined to think that this isn't acceptable and that I should just try and sort out the weirdness that results from throwing an object outside of main(), but I thought I'd ask here for suggestions.  As an alternative I could call asm HLT, but this may bypass too much C-level runtime stuff.  Thoughts?
> 
> To put things in perspective: on OSX, if I throw an Objective-C exception and it is unhandled, I get this output:
> 
> 2010-07-29 20:08:50.818 Nib Preview Helper[1875:a0f] *** Terminating app due to uncaught exception 'hello', reason: 'test'
> *** Call stack at first throw:
> (
>    0   CoreFoundation                      0x00007fff810cecc4 __exceptionPreprocess + 180
>    1   libobjc.A.dylib                     0x00007fff80d0d0f3 objc_exception_throw + 45
>    2   TestApplication                     0x00000001000012c2 main + 162
>    3   TestApplication                     0x00000001000011f4 start + 52
>    4   ???                                 0x0000000000000001 0x0 + 1
> )
> terminate called after throwing an instance of 'NSException'
> Program received signal:  “SIGABRT”.
> sharedlibrary apply-load-rules all
> (gdb) backtrace
> #0  0x00007fff86e363d6 in __kill ()
> #1  0x00007fff86ed6972 in abort ()
> #2  0x00007fff83e315d2 in __gnu_cxx::__verbose_terminate_handler ()
> #3  0x00007fff80d10d29 in _objc_terminate ()
> #4  0x00007fff83e2fae1 in __cxxabiv1::__terminate ()
> #5  0x00007fff83e2fb16 in std::terminate ()
> #6  0x00007fff83e2fbfc in __cxa_throw ()
> #7  0x00007fff80d0d192 in objc_exception_throw ()
> #8  0x00000001000012c2 in main (argc=1, argv=0x7fff5fbff7c0) at main.m:28
> (gdb) 
> 
> -- 
> Michel Fortin
> michel.fortin at michelf.com
> http://michelf.com/
> 
> 
> 
> _______________________________________________
> phobos mailing list
> phobos at puremagic.com
> http://lists.puremagic.com/mailman/listinfo/phobos


More information about the phobos mailing list