UNPKG

@putout/plugin-try-catch

Version:
160 lines (109 loc) β€’ 2.79 kB
# @putout/plugin-try-catch [![NPM version][NPMIMGURL]][NPMURL] [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**](https://github.com/coderaiser/putout) plugin adds support of: - βœ… [try-catch](https://github.com/coderaiser/try-catch) - βœ… [try-to-catch](https://github.com/coderaiser/try-to-catch) Which are drastically simplifies [`try...catch`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/try...catch) blocks. ## Install ``` npm i @putout/plugin-try-catch ``` ## Rules - βœ… [await](#await); - βœ… [args](#args); - βœ… [declare](#declare); - βœ… [expand-arguments](#expand-args); - βœ… [sync](#sync); - βœ… [async](#async); ## Rule ```json { "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 ```js try { log('hello'); } catch(error) {} ``` ### βœ… Example of correct code ```js import tryCatch from 'try-catch'; const [error] = tryCatch(log, 'hello'); ``` ## async ### ❌ Example of incorrect code ```js try { await send('hello'); } catch(error) {} ``` ### βœ… Example of correct code ```js import tryToCatch from 'try-catch'; const [error] = await tryToCatch(send, 'hello'); ``` ## await ### ❌ Example of incorrect code ```js await tryCatch(a, b); tryToCatch(a, b); ``` ### βœ… Example of correct code ```js await tryToCatch(a, b); ``` ## args ### ❌ Example of incorrect code ```js tryCatch(send('hello')); ``` ### βœ… Example of correct code ```js tryCatch(send, 'hello'); ``` ## declare ### ❌ Example of incorrect code ```js const [error] = tryCatch(fs.readFileSync, 'hello.txt'); ``` ### βœ… Example of correct code ```js import tryCatch from 'try-catch'; const [error] = tryCatch(fs.readFileSync, 'hello.txt'); ``` ## expand-args ### ❌ Example of incorrect code ```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(); }); ``` ### βœ… Example of correct code ```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(); }); ``` ## License MIT