I want to declare a const
variable, initialize it inside a try
block, and then use it outside of that try block. For example:
const result;
try {
result = getResult();
} catch (error) {
report(error);
return;
}
use(result);
Or asynchronously:
const result;
try {
result = await fetchResult();
} catch (error) {
report(error);
return;
}
use(result);
What I don't want:
- Use
let
because that allows overwriting theresult
later on. - Move this to a separate function because I only want this logic to be accessible inside the given scope.
I'm seeing this pattern a lot in my code, so is there any way to do this using a modular TypeScript solution?
The following questions are similar, but don't provide a reusable type-safe solution: