Моя идея проста. Если пользователь (или я) делает что-то незаконное, например, вводит неправильный пароль. Конечно! Мой API ответил бы ошибкой. Нравится.

Сначала я создаю CustomError, расширяя класс Error.

Как видите, мой конструктор включает в себя сообщение и предопределенные коды ошибок.

Тогда, если я хочу выдать ошибку. Я бросаю CustomError .

И если я не могу обработать ошибку (как правило, ошибка из другой библиотеки). Я оберну его try...catch .

Наконец, самая важная часть. Это выдать ошибку ApolloError.

ApolloError полезен, когда вы хотите обработать ошибку из другой части вашего проекта, например Apollo Client . Это полезно при использовании хуков, таких как useQuery, которые возвращают объект ошибки среди других выходных данных.