[D-runtime] [D-Programming-Language/druntime] 1117e5: implemented proper exception chaining on Posix

Sean Kelly sean at invisibleduck.org
Mon Mar 28 15:09:17 PDT 2011


These changes should bring Posix exception chaining in line with Windows.  The basic rule is that when a new (non-Error) Throwable T is thrown past an in-flight Throwable F it is replaced by F and appended to F's chain.  If T is an Error then F is appended to T's chain and T continues to meander up the stack.  I wasn't sure what to do if both T and F were of type Error, so I stuck to the aforementioned rule for now.  I've tested this for a few moderately complex cases, but haven't gotten really fancy with nested exception generation.  Hopefully the test suite will prove things out further.


More information about the D-runtime mailing list