Jacob Carlborg wrote: > On 2015-10-15 20:07, Shriramana Sharma wrote: > >> $ cat myexception.d >> string ExceptionDeclaration(string newExceptionName, string >> baseExceptionName = "Exception") >> { >> return "class " ~ newExceptionName ~ ": " ~ baseExceptionName ~ `{ >> this(string msg = "", string file = __FILE__, size_t line = >> __LINE__) >> { super(msg, file, line); } >> }`; >> } > > I think constructors should be inherited.
Yes the constructors are inherited, but the problem, as I illustrated, is that the inherited constructor gets the __FILE__ and __LINE__ data for the point of declaring the exception subclass, and not at the point of throwing it. > If you declare the subclass as usual you can have a template mixin that > adds the constructor. > > class SubException : Exception > { > mixin ExceptionConstructors; > } Hmmm is that in any way advantageous to what I wrote about it? Is it just that you can now add a doc-comment that DDoc can recognize? -- Shriramana Sharma, Penguin #395953