Am Sun, 20 Apr 2014 08:19:45 +0000 schrieb "monarch_dodra" <monarchdo...@gmail.com>:
> D static initialization doesn't work the same way. Everything is > initialized as the program is loaded, […] Ah ok, it's all good then :) > Also, just doing this is good enough: > > //---- > void foo() @nogc > { > static err = new Error("badthing happened"); > if (badthing) > throw err; > } > //---- > > It does require the message be known before hand, and not custom > "built". But then again, where were you going to allocate the > message, and if allocated, who would clean it up? > > -------- > > That said, while the approach works, there could be issues with > re-entrance, or chaining exceptions. Yes, we've discussed the issues with that approach in other threads. At least this allows exceptions to be used at all. -- Marco