Report a bug
If you spot a problem with this page, click here to create a Bugzilla issue.
Improve this page
Quickly fork, edit online, and submit a pull request for this page. Requires a signed-in GitHub account. This works well for small changes. If you'd like to make larger changes you may want to consider using a local clone.

rt.ehalloc

Exception allocation, cloning, and release compiler support routines.
License:
Distributed under the Boost Software License 1.0. (See accompanying file LICENSE)
Authors:
Walter Bright
Throwable _d_newThrowable(const TypeInfo_Class ci);
Allocate an exception of type ci from the exception pool. It has the same interface as rt.lifetime._d_newclass(). The class type must be Throwable or derived from it, and cannot be a COM or C++ class. The compiler must enforce this.
Returns:
default initialized instance of the type
nothrow void _d_delThrowable(Throwable t);
Delete exception instance t from the exception pool. Must have been allocated with _d_newThrowable(). This is meant to be called at the close of a catch block. It's nothrow because otherwise any function with a catch block could not be nothrow.

Input t = Throwable