static try?

Mehrdad wfunction at hotmail.com
Mon Oct 31 15:29:59 PDT 2011


On 10/31/2011 4:16 AM, deadalnix wrote:
> Le 31/10/2011 02:21, Mehrdad a écrit :
>> I've written this piece of code a fair number of times:
>>
>> static if (is(typeof(foo()))) { foo(); }
>> else { bar(); }
>>
>> When the expression inside the condition (i.e. the call to foo()) gets
>> complicated, you get lots of code duplication and things become harder
>> to read.
>>
>> So I'm thinking, why not just introduce a 'static try'?
>>
>> Something like:
>>
>> static try
>> {
>> foo();
>> }
>> catch // (string ex) // perhaps let them know what the error is?
>> {
>> bar();
>> }
>>
>> It's a clean and immensely readable improvement IMO, and it doesn't
>> introduce any new keywords or any breaking changes to anything.
>>
>> How's the idea?
>
> That sound dangerous. You can get some compile error and not notice it.
Huh? How is that any worse than is(typeof({ some random code })), which 
we're already doing all over the place?


More information about the Digitalmars-d mailing list