time-to-botec/squiggle/node_modules/@stdlib/utils/try-catch/README.md
NunoSempere b6addc7f05 feat: add the node modules
Necessary in order to clearly see the squiggle hotwiring.
2022-12-03 12:44:49 +00:00

2.5 KiB

trycatch

If a function does not throw, return the function return value; otherwise, return y.

Usage

var trycatch = require( '@stdlib/utils/try-catch' );

trycatch( x, y )

If a function x does not throw, returns the return value of x; otherwise, returns y.

function x1() {
    return 1.0;
}

var z = trycatch( x1, -1.0 );
// returns 1.0

function x2() {
    throw new Error( 'beep' );
}

z = trycatch( x2, -1.0 );
// returns -1.0

Examples

var randu = require( '@stdlib/random/base/randu' );
var trycatch = require( '@stdlib/utils/try-catch' );

var z;
var i;

function x() {
    if ( randu() < 0.9 ) {
        throw new Error( 'BOOP' );
    }
    return 'BOOP';
}

for ( i = 0; i < 100; i++ ) {
    z = trycatch( x, 'beep' );
    console.log( z );
}