From c7cc65555d1ee8c07920f438042abae0503e0db9 Mon Sep 17 00:00:00 2001 From: Desyatnikov Grigorii Date: Wed, 2 Feb 2022 16:27:12 +0300 Subject: [PATCH] Add request error --- api/error.ts | 9 ++++++++- api/request.ts | 3 ++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/api/error.ts b/api/error.ts index 13ece56..ac582f9 100644 --- a/api/error.ts +++ b/api/error.ts @@ -1,4 +1,11 @@ -export interface ApiError { +export class ApiError extends Error { errorCode: number errorMessage: Nullable + + constructor(error: any) { + super(error.message) + + this.errorCode = error?.response?.data?.errorCode ?? -1 + this.errorMessage = error?.response?.data?.errorMessage + } } diff --git a/api/request.ts b/api/request.ts index 8ef08a2..bfe318a 100644 --- a/api/request.ts +++ b/api/request.ts @@ -1,6 +1,7 @@ import axios, { AxiosRequestConfig } from 'axios' import logger from 'lib/logger' +import { ApiError } from './error' const retrieve = async ( props: AxiosRequestConfig, @@ -15,7 +16,7 @@ const retrieve = async ( return retrieve(props, true) } - throw new Error(err) + throw new ApiError(err) } }