Type Inference and Try Blocks

Henry Claesson henryclaesson at null.address
Mon Jan 20 23:16:07 UTC 2020


This isn't a D-specific "problem", but there may be D-specific 
solutions.
I have a function `doSomething()` that returns a Voldemort type, 
and this same function also throws. So, there's this:

try {
     auto foo = doSomething();
} catch (AnException e) {
     // Do stuff
}

The problem that I'm encountering is that I'd like, assuming no 
exception was thrown, to use foo outside the `try` (or `finally`) 
block to avoid nesting as any operations on `foo` from that point 
onward may also throw. Are there any constructs that act as 
alternatives to try/catch/finally so that I can do this?

(This issue could very well stem from poor design and not being 
familiar with programming using exceptions. So feel free to 
ignore.)

Thanks


More information about the Digitalmars-d-learn mailing list