D Exceptions
Steve Teale
steve.teale at britseyeview.com
Tue Jan 26 08:07:11 PST 2010
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?
More information about the Digitalmars-d
mailing list