Как я могу создать новый объект SystemError в Node.js? - PullRequest
1 голос
/ 03 февраля 2020

Смотря на документацию Node , SystemError расширяет класс Error. Однако, если вы попытаетесь использовать SystemError напрямую, узел выдаст ReferenceError о том, что SystemError не определено.

Ясно, что, согласно документам, можно встретить экземпляр SystemError, но кажется невозможным воссоздать такую ​​ошибку обычным способом (например, throw new SystemError(args)).

Я хотел бы протестировать некоторый код, предназначенный для взаимодействия с указанным SystemError API, как подробно описано в документы, но я понятия не имею, как воссоздать SystemError. Это вообще возможно?

1 Ответ

1 голос
/ 03 февраля 2020

Я думаю, что node.js не делает доступным SystemError, чтобы никто не (npm пакетов) использовал его. Так что SystemError - это действительно SystemError, а не что-то еще.

Если вы хотите проверить это, сгенерируйте ошибку: Попробуйте прочитать файл, который, например, не существует.

Другим решением было бы воссоздать похожую ошибку, потому что вы знаете каждое ее свойство. Но на самом деле это обходной путь.

https://nodejs.org/api/errors.html#errors_class_systemerror

В Github https://github.com/DefinitelyTyped/DefinitelyTyped Я не смог найти ни одного interface объявления о SystemError.

За исключением пользовательских реализаций, выполненных node-fetch, voximplant-websdk и alexa-sdk.

https://github.com/DefinitelyTyped/DefinitelyTyped/search?q=systemError&unscoped_q=systemError

...