|
|
||
|---|---|---|
| .. | ||
| docs | ||
| lib | ||
| package.json | ||
| README.md | ||
tryRequire
Wrap
requirein a try/catch block.
Usage
var tryRequire = require( '@stdlib/utils/try-require' );
tryRequire( id )
Wraps require in a try/catch block. If able to resolve a module id, the function returns the value bound to module.exports in the resolved module. Otherwise, the function returns an Error.
var x = tryRequire( 'beep' );
if ( x instanceof Error ) {
console.log( x.message );
}
Notes
-
Use caution when attempting to resolve a relative path or a local module. This function attempts to resolve a module from its current path. Thus, the function is unable to resolve anything which is not along its search path. For local requires, use an absolute file path.
var resolve = require( 'path' ).resolve; var out = tryRequire( resolve( '/foo/bar/baz', '..', 'lib', 'beep.js' ) ); if ( out instanceof Error ) { console.error( out.message ); }
Examples
var tryRequire = require( '@stdlib/utils/try-require' );
var out;
out = tryRequire( '_abcdefghijklmnopqrstuvwxyz123456789_' );
if ( out instanceof Error ) {
console.error( out.message );
} else {
throw new Error( 'expected an error' );
}
out = tryRequire( '@stdlib/utils/try-require' );
if ( out !== tryRequire ) {
throw new Error( 'expected export' );
}