Throwing from a lambda isn't supported by the compiler

Andre Pany andre at s-e-a-p.de
Mon Sep 9 09:14:08 UTC 2019


Hi,

I noticed, that I cannot throw from the lambda expression:
   Error: expression expected, not throw
but have to use the longer syntax () {throw new Exception();}

---
void foo(void function() e){}

void main()
{
     foo(
         () => throw new Exception()
     );
}
---

The shorter lambda syntax would be more readable in my case.
Is there a reason why it isn't allowed or should I create an
enhancement request?

Kind regards
André


More information about the Digitalmars-d-learn mailing list