E0118: unexpected 'finally' without 'try'
try
statements can have a finally
clause. It is a syntax error to have a
finally
clause with no corresponding try
statement:
let recursionDepth = 0;
function recursionExample() {
if (recursionDepth > 100) {
throw new Error("too much recursion!");
}
recursionDepth += 1;
try {
recursionExample();
};
finally {
recursionDepth -= 1;
}
}
To fix this error, make sure the finally
keyword immediately follows the }
for a try
block or a catch
block:
let recursionDepth = 0;
function recursionExample() {
if (recursionDepth > 100) {
throw new Error("too much recursion!");
}
recursionDepth += 1;
try {
recursionExample();
}
finally {
recursionDepth -= 1;
}
}
Introduced in quick-lint-js version 0.2.0.