From 5b10a10743b8459f64fe83e0ff420f69da79c9a4 Mon Sep 17 00:00:00 2001 From: Yuchen Pei Date: Thu, 28 Jul 2022 15:32:10 +1000 Subject: Moving scripts and utilities into a new utilities dir --- .../node_modules/node-fetch/ERROR-HANDLING.md | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 utilities/hash_script/node_modules/node-fetch/ERROR-HANDLING.md (limited to 'utilities/hash_script/node_modules/node-fetch/ERROR-HANDLING.md') diff --git a/utilities/hash_script/node_modules/node-fetch/ERROR-HANDLING.md b/utilities/hash_script/node_modules/node-fetch/ERROR-HANDLING.md new file mode 100644 index 0000000..0e4025d --- /dev/null +++ b/utilities/hash_script/node_modules/node-fetch/ERROR-HANDLING.md @@ -0,0 +1,21 @@ + +Error handling with node-fetch +============================== + +Because `window.fetch` isn't designed to transparent about the cause of request errors, we have to come up with our own solutions. + +The basics: + +- All [operational errors](https://www.joyent.com/node-js/production/design/errors) are rejected as [FetchError](https://github.com/bitinn/node-fetch/blob/master/lib/fetch-error.js), you can handle them all through promise `catch` clause. + +- All errors comes with `err.message` detailing the cause of errors. + +- All errors originated from `node-fetch` are marked with custom `err.type`. + +- All errors originated from Node.js core are marked with `err.type = system`, and contains addition `err.code` and `err.errno` for error handling, they are alias to error codes thrown by Node.js core. + +- [Programmer errors](https://www.joyent.com/node-js/production/design/errors) are either thrown as soon as possible, or rejected with default `Error` with `err.message` for ease of troubleshooting. + +List of error types: + +- Because we maintain 100% coverage, see [test.js](https://github.com/bitinn/node-fetch/blob/master/test/test.js) for a full list of custom `FetchError` types, as well as some of the common errors from Node.js -- cgit v1.2.3