On Tuesday, 19 February 2019 at 05:50:04 UTC, yisooan wrote:

This is allowed.
But I want to do the exact same thing in D. I have already tried some expressions with alias? but it doesn't work.


alias can't be used for expressions.


Would you help me, please?

There's nothing exactly equivalent to the C preprocessor. The closest you'd be able to get without using a keyword like mixin is to use a function:

```
Exception invalidIndexException() { throw new Exception("Index is invalid"); }

if(false) invalidIndexException;
```

Of course, you can also subclass Exception:

```
class InvalidIndexException : Exception
{
    this(string file = __FILE__, size_t line = __LINE__)
    {
        super("Index is invalid", file, line);
    }
}

if(false) throw new InvalidIndexException;
```


Reply via email to