Disallow catch without parameter ("LastCatch")

grauzone none at example.net
Tue Oct 27 14:21:47 PDT 2009


BCS wrote:
> Hello grauzone,
> 
>> PS: I wonder, should the runtime really execute finally blocks if an
>> "Error" exception is thrown? (Errors are for runtime errors, Exception
>> for normal exceptions.) Isn't it dangerous to execute arbitrary user
>> code in presence of what is basically an internal error?
>>
> 
> If a thrown Error doesn't run finally blocks you will have a very hard 
> time arguing for catch working and once those don't happen it might as 
> well kill -9 the process so why even have it in the first place?

You still can use a "catch (Throwable t)" to catch all kinds of errors. 
I just think that finally (and scope(exit)) should be designed with high 
level code in mind. Code that allocates heap memory in a finally block 
is already broken (what if an out of memory error was thrown?).



More information about the Digitalmars-d mailing list