how to make this function nothrow?
Jack
jckj33 at gmail.com
Mon Feb 15 21:04:50 UTC 2021
I have to make my function nothrow because the function that
calls it (not written by me) is nothrow. So I need to wrap my
code in a try-catch() but how will I report the error message, if
the toString() from Throwable isn't nothrow? how do I get out
this circular dependence?
void f() nothrow
{
import std.conv : to;
try
{
// do something
}
catch(Throwable th)
{
auto err = th.toString;
}
}
I can't use err variable, it result in error:
function object.Throwable.toString is not nothrow
obviously, insert a try-catch() within catch() is a circular
dependence and doesn't solve the problem either (even if it, I
think it would be quite ugly)
More information about the Digitalmars-d-learn
mailing list