@putout/plugin-try-catch
v4.0.0
Published
🐊Putout plugin adds ability to apply try-catch
Downloads
27,875
Maintainers
Readme
@putout/plugin-try-catch
The
try...catch
statement marks atry
block and acatch
block. If the code in thetry
block throws an exception then the code in thecatch
block will be executed.(c) MDN
🐊Putout plugin adds support of:
Which are drastically simplifies try...catch
blocks.
Install
npm i @putout/plugin-try-catch
Rule
{
"rules": {
"try-catch/await": "on",
"try-catch/args": "on",
"try-catch/declare": "on",
"try-catch/expand-arguments": "on",
"try-catch/sync": "on",
"try-catch/async": "on"
}
}
sync
❌ Example of incorrect code
try {
log('hello');
} catch(error) {}
✅ Example of correct code
import tryCatch from 'try-catch';
const [error] = tryCatch(log, 'hello');
async
❌ Example of incorrect code
try {
await send('hello');
} catch(error) {}
✅ Example of correct code
import tryToCatch from 'try-catch';
const [error] = await tryToCatch(send, 'hello');
await
❌ Example of incorrect code
await tryCatch(a, b);
tryToCatch(a, b);
✅ Example of correct code
await tryToCatch(a, b);
args
❌ Example of incorrect code
tryCatch(send('hello'));
✅ Example of correct code
tryCatch(send, 'hello');
declare
❌ Example of incorrect code
const [error] = tryCatch(fs.readFileSync, 'hello.txt');
✅ Example of correct code
import tryCatch from 'try-catch';
const [error] = tryCatch(fs.readFileSync, 'hello.txt');
expand-arguments
❌ Example of incorrect code
import tryCatch from 'try-catch';
test('some message', (t) => {
const fn = () => copymitter('/hello');
const [error] = tryCatch(fn);
t.equal(error.message, 'to should be a string!');
t.end();
});
✅ Example of correct code
import tryCatch from 'try-catch';
test('some message', (t) => {
const [error] = tryCatch(copymitter, '/hello');
t.equal(error.message, 'to should be a string!');
t.end();
});
License
MIT