Le 01/06/2012 14:16, Tobias Pankrath a écrit :
On Friday, 1 June 2012 at 12:03:15 UTC, deadalnix wrote:
Le 01/06/2012 12:29, Walter Bright a écrit :
On 6/1/2012 1:15 AM, Jens Mueller wrote:
Since the current implementation does not follow the specification
regarding scope and finally block being executed in case of Error will
try ... catch (...Error) keep working?
No. The reason for this is the implementation was not updated after the
split between Error and Exception happened. It was overlooked.
I have code that uses
assertThrows!AssertError to test some in contracts. Will this code
break?
I don't know exactly what your code is, but if you're relying on scope
to unwind in the presence of Errors, that will break.
If you have an error, it is already broken in some way.
But this is unreasonable to think that the whole program is broken,
except in very specific cases (stack corruption for instance) but in
such a case, you can't throw an error anyway.
I agree. It should be possible to have an plugin system where not every
null pointer dereference in a plugin screws up the hole program. Without
using different processes for the plugin.
90% of null pointer dereferences are simple bugs not memory corruption.
You want to crash an airplane or what ???