runtime hook for Crash on Error

Jonathan M Davis jmdavisProg at gmx.com
Wed Jun 6 11:11:22 PDT 2012


On Wednesday, June 06, 2012 19:40:03 Lars T. Kyllingstad wrote:
> On Wednesday, 6 June 2012 at 09:38:35 UTC, Jonathan M Davis wrote:
> > On Wednesday, June 06, 2012 11:13:39 Lars T. Kyllingstad wrote:
> >> On Friday, 1 June 2012 at 12:29:27 UTC, Steven Schveighoffer
> >> 
> >> wrote:
> >> > On Fri, 01 Jun 2012 04:48:27 -0400, Dmitry Olshansky
> >> > 
> >> > <dmitry.olsh at gmail.com> wrote:
> >> >> I don't agree that OutOfMemory is critical:
> >> >> --> make it an exception ?
> >> > 
> >> > No. What we need is a non-throwing version of malloc that
> >> > returns NULL. (throwing version can wrap this). If you want
> >> > to throw an exception, then throw it there (or use enforce).
> >> 
> >> With some sugar:
> >> auto a = nothrow new Foo; // Returns null on OOM
> >> 
> >> Then, ordinary new can be disallowed in nothrow code.
> > 
> > But then instead of getting a nice, clear, OutOfMemoryError,
> > you get a
> > segfault - and that's assuming that it gets dereferenced
> > anywhere near where
> > it's allocated.
> 
> "nothrow new" is easily greppable, though. That would be the
> first course of action upon getting a segfault.

But unless you got a core dump, you have _no_ idea where in the program the 
segfault occurred. So, that really isn't helpful.

- Jonathan M Davis


More information about the Digitalmars-d mailing list