Custom default exception handler?
Sean Kelly
sean at invisibleduck.org
Wed Feb 12 13:14:24 PST 2014
On Wednesday, 12 February 2014 at 03:31:38 UTC, Nick Sabalausky
wrote:
>
> Hmm, my custom toString isn't being executed. Am I doing
> something wrong here? Same result if I inherit direct from
> Throwable instead of Exception.
>
> class Fail : Exception
> {
> private this()
> {
> super(null);
> }
>
> private static Fail opCall(string msg, string
> file=__FILE__, int line=__LINE__)
> {
> auto f = cast(Fail) cast(void*) Fail.classinfo.init;
>
> f.msg = msg;
> f.file = file;
> f.line = line;
>
> return f;
> }
>
> override string toString()
> {
> writeln("In Fail.toString()");
> return "someapp: ERROR: "~msg;
> }
>
> }
It looks like this has changed, and the method that's called now
is:
void toString(scope void delegate(in char[]) sink) const;
I suspect this has broken a lot of custom exception messages,
since everything in core.exception still uses toString() for its
output.
More information about the Digitalmars-d-learn
mailing list