no-try
    TypeScript icon, indicating that this package has built-in type declarations

    3.1.0 • Public • Published

    🚀 No-Try 🚀

    Clean up your code base by removing those ugly try-catch-finally blocks!


    😍 About

    Working in a code base where you can expect methods to throw can lead to situations where your logic is wrapped in try-catch blocks. It also leads to other code design problems. 🤢

    no-try tackles this by removing the try-catch to an external method, whilst allowing the flexibility of handling the error thrown appropriately and getting access to the return value of the method that will throw. 🤘🤘

    🔧 Installation

    npm install --save no-try

    🎸 Usage

    First we need to set up our import

    JavaScript (all)

    const useTry = require("no-try").useTry;
    const useTryAsync = require("no-try").useTryAsync;

    TypeScript or ES6+

    import { useTry, useTryAsync } from "no-try";

    Now let's use it

    // Without a custom error handler
    const [error, result] = useTry(() => myThrowableMethod());
     
    // With a custom error handler
    const [err, res] = useTry(
      () => myThrowableMethod(),
      error => {
        console.log(error);
      }
    );
     
    // Handle methods that return a Promise without a custom error handler
    const [err2, res2] = await useTryAsync(() => myAsyncThrowableMethod());
     
    // Handle methods that return a Promise with a custom error handler
    const [err3, res3] = await useTryAsync(
      () => myAsyncThrowableMethod(),
      error => {
        console.log(error);
      }
    );
     
    // Use result
    if (error || err || err2 || err3) {
      // Show error alert
    }
     
    sendMyResultToMethod(result);

    Install

    npm i no-try

    DownloadsWeekly Downloads

    1,244

    Version

    3.1.0

    License

    MIT

    Unpacked Size

    12.1 kB

    Total Files

    8

    Last publish

    Collaborators

    • coly010