Closed
Description
TypeScript Version: 3.7.2
Search Terms: try catch finally return
Code
const main = () => {
let hoge: string | undefined = undefined;
try {
hoge = 'hoge!';
return; // Bug disappears after removing this return.
} catch {
return; // Bug disappears after removing this return.
} finally {
if (hoge) {
hoge.length;
}
return;
}
}
main();
Expected behavior:
In finally
block, hoge
's type is string | undefined
Actual behavior:
In finally
block, hoge
's type is only undefined
, and Property 'length' does not exist on type 'never'.
error occured.
Related Issues: