@putout/plugin-try-catch 
The
try...catchstatement marks atryblock and acatchblock. If the code in thetryblock throws an exception then the code in thecatchblock will be executed.(c) MDN
đPutout plugin adds support of:
- â try-catch
- â try-to-catch
Which are drastically simplifies try...catch blocks.
Install
npm i @putout/plugin-try-catch
Rules
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-args
â 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
 coderaiser
coderaiser