JSPM

@mumen/try-catch-alt

1.0.1
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • 0
  • Score
    100M100P100Q16359F
  • License ISC

An alternative library for try-catch blocks, helps reduce the code and make it cleaner and more readable using anonymous functions.

Package Exports

    This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@mumen/try-catch-alt) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

    Readme

    try-catch-alt

    An alternative library for try-catch blocks, helps reduce the code and make it cleaner and more readable using anonymous functions.

    Why should use this library?

    Instead of doing this (for specific exceptions handling):

    try
    { 
        // code that throws an exception
        // this line won't execute
    }
    catch (CustomException ex)
    {
        // special handling for CustomException 
    }
    catch (Exception ex)
    {
       // all others
    }

    or even this (when you need to continue the execution when exceptions occur):

    try
    { 
        // code that throws an exception
    }
    catch (Exception ex)
    {
       // handle
    }
    
    try
    { 
        // this code will execute unless the previous catch block 
        // throws an exception (re-throw or new exception) 
    }
    catch (Exception ex)
    {
       // handle
    }

    You can just do this:

    const data = _trySync(() => {
        //do your thing here and return data
    })
    
    if (!data.ok){
        console.log("Do you want to continue exectution?");
        return; //if yes
    }

    Installation

    Install with npm

      npm install @mumen/try-catch-alt

    API Reference

    _try (async)

    Parameter Type Description
    tryFunction () => Promise<T> function which may cause exception

    _tryMany (async)

    Parameter Type Description
    tryFunction () => Promise<T> function which may cause exception
    numberOfTrials number Number of executions before giving the final result

    _trySync (sync)

    Parameter Type Description
    tryFunction () => T function which may cause exception

    _trySyncMany (sync)

    Parameter Type Description
    tryFunction () => T function which may cause exception
    numberOfTrials number Number of executions before giving the final result

    Usage/Examples

    // _try: use this method for ASYNC try-catch, won't re-try on failure
    
    import { _try } from "@mumen/try-catch-alt";
    
    async function getDataExample() {
      const data = await _try(async () => {
        const apiResponse = await fetch(
          ".."
        );
        const json = await apiResponse.json();
        return json;
      });
    
    
      if (data.ok)
        console.log(data.result);
      else
        console.log(data.error);
    
      console.log('Execution continues!')
    }
    
    getDataExample();
    // _trySync: use this method for SYNC try-catch, won't re-try on failure
    
    import { _trySync } from "@mumen/try-catch-alt";
    
    function doWork() {
      const data = _try(() => {
          // your code goes here
    
          //return result
      });
    
    
      if (data.ok)
        console.log(data.result);
      else
        console.log(data.error);
    
      console.log('Execution continues!')
    }
    
    doWork();
    // _tryMany: use this method for ASYNC try-catch, re-try will occur on failure
    
    import { _tryMany } from "@mumen/try-catch-alt";
    
    async function getDataExample() {
      const data = await _tryMany(async () => {
        const apiResponse = await fetch(
          ".."
        );
        const json = await apiResponse.json();
        return json;
      }, 3);
    
    
      if (data.ok)
        console.log(data.result);
      else
        console.log(data.error);
    
      console.log('Execution continues!')
    }
    
    getDataExample();
    // _tryManySync: use this method for SYNC try-catch, re-try will occur on failure
    
    import { _tryManySync } from "@mumen/try-catch-alt";
    
    function doWork() {
      const data = _tryManySync(() => {
        // your code goes here
    
        //return result
      }, 3);
    
    
      if (data.ok)
        console.log(data.result);
      else
        console.log(data.error);
    
      console.log('Execution continues!')
    }
    
    doWork();

    Authors