πPutout plugin adds ability to apply try-catch
npm install @putout/plugin-try-catch[NPMIMGURL]: https://img.shields.io/npm/v/@putout/plugin-try-catch.svg?style=flat&longCache=true
[NPMURL]: https://npmjs.org/package/@putout/plugin-try-catch "npm"
> The try...catch statement marks a try block and a catch block. If the code in the try block throws an exception then the code in the catch block will be executed.
>
> (c) MDN
πPutout plugin adds support of:
- β
try-catch
- β
try-to-catch
Which are drastically simplifies try...catch blocks.
```
npm i @putout/plugin-try-catch
- β
await;
- β
args;
- β
apply-destructuring;
- β
declare;
- β
expand-arguments;
- β
sync;
- β
async;
`json`
{
"rules": {
"try-catch/await": "on",
"try-catch/args": "on",
"try-catch/apply-destructuring": "on",
"try-catch/declare": "on",
"try-catch/expand-arguments": "on",
"try-catch/sync": "on",
"try-catch/async": "on"
}
}
`js`
try {
log('hello');
} catch(error) {}
`js
import {tryCatch} from 'try-catch';
const [error] = tryCatch(log, 'hello');
`
`js`
try {
await send('hello');
} catch(error) {}
`js
import {tryToCatch} from 'try-catch';
const [error] = await tryToCatch(send, 'hello');
`
`js`
await tryCatch(a, b);
tryToCatch(a, b);
`js`
await tryToCatch(a, b);
`js`
tryCatch(send('hello'));
`js`
tryCatch(send, 'hello');
Checkout in πPutout Editor.
`js`
import {tryCatch} from 'try-catch';
import {tryToCatch} from 'try-to-catch';
`js`
import {tryCatch} from 'try-catch';
import {tryToCatch} from 'try-to-catch';
`js`
const [error] = tryCatch(fs.readFileSync, 'hello.txt');
`js
import {tryCatch} from 'try-catch';
const [error] = tryCatch(fs.readFileSync, 'hello.txt');
`
`js
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();
});
`
`js
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();
});
``
MIT