MCPcopy Index your code
hub / github.com/dataease/SQLBot / handleError

Method handleError

frontend/src/utils/request.ts:212–280  ·  view source on GitHub ↗
(error: AxiosError)

Source from the content-addressed store, hash-verified

210 }
211
212 private handleError(error: AxiosError) {
213 let errorMessage = 'Request error'
214
215 if (error.response) {
216 switch (error.response.status) {
217 case 400:
218 errorMessage = 'Invalid request parameters'
219 break
220 case 401:
221 errorMessage = error.response?.data
222 ? error.response.data.toString()
223 : 'Unauthorized, please login again'
224 // Redirect to login page if needed
225 if (assistantStore.getAssistant) {
226 wsCache.delete('user.token')
227 if (router?.push) {
228 router.push(`/401?title=${encodeURIComponent(errorMessage)}`)
229 } else {
230 window.location.href = `/#/401?title=${encodeURIComponent(errorMessage)}`
231 }
232 return
233 }
234 ElMessage({
235 message: errorMessage,
236 type: 'error',
237 showClose: true,
238 })
239 setTimeout(() => {
240 wsCache.delete('user.token')
241 window.location.reload()
242 }, 2000)
243 return
244 // break
245 case 403:
246 errorMessage = 'Access denied'
247 break
248 case 404:
249 errorMessage = 'Resource not found'
250 break
251 case 500:
252 errorMessage = 'Server error'
253 break
254 default:
255 errorMessage = `Server responded with error: ${error.response.status}`
256 }
257 if (error?.response?.data) {
258 errorMessage = error.response.data.toString()
259 }
260 } else if (error.request) {
261 errorMessage = 'No response from server'
262 } else if (axios.isCancel(error)) {
263 errorMessage = 'Request canceled'
264 return // Skip showing cancel messages
265 } else {
266 errorMessage = error['message'] || 'Unknown error'
267 }
268
269 // Show error using UI library (e.g., Element Plus, Ant Design)

Callers 1

setupInterceptorsMethod · 0.95

Calls 4

errorMethod · 0.80
toStringMethod · 0.45
deleteMethod · 0.45
pushMethod · 0.45

Tested by

no test coverage detected