method Domain.prototype.intercept
Usage in Deno
```typescript import { Domain } from "node:node__domain.d.ts"; ```
Domain.prototype.intercept<T extends Function>(callback: T): T
This method is almost identical to bind. However, in
addition to catching thrown errors, it will also intercept `Error` objects sent as the first argument to the function.
In this way, the common `if (err) return callback(err);` pattern can be replaced
with a single error handler in a single place.
```js
const d = domain.create();
function readSomeFile(filename, cb) {
fs.readFile(filename, 'utf8', d.intercept((data) => {
// Note, the first argument is never passed to the
// callback since it is assumed to be the 'Error' argument
// and thus intercepted by the domain.
// If this throws, it will also be passed to the domain
// so the error-handling logic can be moved to the 'error'
// event on the domain instead of being repeated throughout
// the program.
return cb(null, JSON.parse(data));
}));
}
d.on('error', (er) => {
// An error occurred somewhere. If we throw it now, it will crash the program
// with the normal line number and stack message.
});
```
callback: T
The callback function
The intercepted function