Моя идея проста. Если пользователь (или я) делает что-то незаконное, например, вводит неправильный пароль. Конечно! Мой API ответил бы ошибкой. Нравится.
Сначала я создаю CustomError
, расширяя класс Error
.
Как видите, мой конструктор включает в себя сообщение и предопределенные коды ошибок.
Тогда, если я хочу выдать ошибку. Я бросаю CustomError
.
И если я не могу обработать ошибку (как правило, ошибка из другой библиотеки). Я оберну его try...catch
.
Наконец, самая важная часть. Это выдать ошибку ApolloError
.
ApolloError
полезен, когда вы хотите обработать ошибку из другой части вашего проекта, например Apollo Client
. Это полезно при использовании хуков, таких как useQuery
, которые возвращают объект ошибки среди других выходных данных.