What is nice-try?
The nice-try npm package is a utility module that provides a simple way to attempt executing a function that might or might not throw an error without having to use try-catch blocks explicitly. It is designed to be a minimalistic and straightforward tool for safe function execution.
What are nice-try's main functionalities?
Safe Function Execution
This feature allows you to execute a function and if it throws an error, nice-try will catch it and return undefined instead of letting the error propagate. This is useful when you want to attempt an operation but don't want to handle the error explicitly.
const niceTry = require('nice-try');
const result = niceTry(() => {
// Potentially risky operation
return 'Operation successful';
});
console.log(result); // Outputs: 'Operation successful' or undefined if an error occurred
Other packages similar to nice-try
try-catch
The try-catch package provides a similar functionality to nice-try by allowing you to wrap synchronous code in a try-catch block without having to write the try-catch explicitly. It differs in that it returns an array with the error (if any) and the result, allowing you to handle both.
just-try
Just-try is a minimalistic package that allows you to try a function and catch any thrown errors. It is very similar to nice-try in its simplicity and straightforward approach but does not seem to offer additional features or improvements over nice-try.
nice-try
A function that tries to execute a function and discards any error that occurs.
Install
npm install nice-try
Usage
const niceTry = require('nice-try')
niceTry(() => JSON.parse('true'))
niceTry(() => JSON.parse('truee'))
niceTry()
niceTry(true)
await niceTry.promise(async () => JSON.parse('true'))
await niceTry.promise(async () => JSON.parse('truee'))
API
Parameters
fn
{Function}
Function that might or might not throw an error.
Returns
{?*}
Return-value of the function when no error occurred.
What others say
This module is a controversial thing and people like to get mad about it. I decided to give those people a voice. Here's what they're saying.
fundamentally inane
— frou_dh
the worst Javascript library […] in several categories
— kuzux
how is this a thing
— uint8_t
This is blowing my mind
— mr_jim_lahey
a shit-tastic try-catch alias
— Dropping_fruits
I assumed every commit was a joke, but after researching the maintainer a bit I'm not sure it is...
— MrPineappleHat