# tryRequire > Wrap `require` in a try/catch block.
## Usage ```javascript 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`. ```javascript 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. ```javascript var resolve = require( 'path' ).resolve; var out = tryRequire( resolve( '/foo/bar/baz', '..', 'lib', 'beep.js' ) ); if ( out instanceof Error ) { console.error( out.message ); } ```
## Examples ```javascript 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' ); } ```