Basically when you spawn a thread giving the function, you pass it
through another function which will catch any exceptions not normally
caught.
Of course this really should be the default behavior but somebody else
may be more of a help here.
And it is pseudo code, so please don't expect it to 100% work as I have
written it.
```D
void entryPoint(alias func)() {
try {
func();
} catch (Exception e) {
import std.stdio;
writeln(e.toString());
}
}
void main() {
auto tid = spawn(&entryPoint!someFunc);
// ...
}
```