If I have a program like:

import std.stdio;
void main()
{
    try
    {
         char* p = cast(char*) 1234;
         *p = '?';
    }
    catch (Exception x)     // same story with Exception or Error
    {
        writefln("Caught Exception");
    }
}

If I build and run in in Linux, with either DMD 1.055 or the current GDC, the 
program quits with a Segmentation fault message. Under Windows (and I am 
running an old D2 there), it says:

object.Error: Access Violation

Which looks like a message from D. If I write a D Linux program that just 
throws an exception, then it says:

Error: My exception message

Which is clearly a message from D.

So it seems there is a safety net in Windows, but not in Linux. Is this how it 
is supposed to be?

Reply via email to