Tweakr
    Preparing search index...

    Function tryCatch

    • Safely executes a function and returns a fallback value or result from a fallback function if an error is thrown.

      Supports both sync and async functions with typed fallbacks.

      Type Parameters

      • T
      • F

      Parameters

      • fn: (...args: any[]) => T | Promise<T>

        Function to execute (sync or async)

      • fallback: (error?: unknown) => F | Promise<F>

        Fallback function executed when an error occurs

      • Optionaloptions: { log?: boolean; rethrow?: boolean }

        Optional configuration:

        • log: log errors to console (default: false)
        • rethrow: rethrow error after fallback (default: false)

      Returns (...args: any[]) => Promise<T | F>

      Wrapped function returning original result or fallback

      const risky = () => JSON.parse("invalid");
      const safe = tryCatch(risky, (err) => ({ error: String(err) }));
      console.log(safe()); // { error: "SyntaxError: ..." }

      const asyncRisky = async () => { throw new Error("Oops"); };
      const safeAsync = tryCatch(asyncRisky, (err) => ({ error: String(err) }));
      console.log(await safeAsync()); // { error: "Error: Oops" }

      1.2.0