Function to execute (sync or async)
Fallback function executed when an error occurs
Optional
options: { log?: boolean; rethrow?: boolean }Optional configuration:
log
: log errors to console (default: false)rethrow
: rethrow error after fallback (default: false)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" }
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.