On Friday, 12 August 2022 at 21:41:25 UTC, Christian Köstlin wrote:

which would enable something like

```d
    return  s
        .readText
        .parseJSON
        .contextWithException((UTFException e) {
return new Exception("Cannot process UTF-8 in config file%s\n %s".format(s, e.msg), e);
        })
        .contextWithException((FileException e) {
return new Exception("Cannot process config file%s\n %s".format(s, e.msg), e);
        });
```

This is not as DRY as it could be. Furthermore I would try implement the error handling completely outside the main execution path, ideally in a wrapper around a the old main function (renamed to main_). This approach becomes problematic if exceptions of the same class can be thrown from two functions of the chain.

Your code is printing e.msg. How to you localize that string?


Reply via email to