I'd write this as

```D
if (!dg) 
    throw e;
dg();
```

i.e. minimize flow control.