On Tuesday, 22 May 2018 at 18:20:43 UTC, Robert M. Münch wrote:
I see that I'm writingtry { ... different code ... } catch (myException e) { ... same handling code ... } over and over again.Of course I can put the exception handling code into a function to not duplicate it. However, I still need to write this construct over and over again. Is there a way to handle it more generic? Like:??? (... code ...); or ??? { ... code ...};Where ??? would do the try and re-use the exception handling code everytime? I hope this is understandable.
Have you looked at std.exception.ifThrown? You could define a handler function and pass it to ifThrown for each expression that may throw. If it's a statement, I believe you could wrap it in a lambda which is immediately called, then append .ifThrown(handler).
