How to use exceptions
kdevel
kdevel at vogtner.de
Sat Aug 13 13:00:08 UTC 2022
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?
More information about the Digitalmars-d-learn
mailing list