programing

axios 오류 유형 스크립트, 주석은 '임의' 또는 '알 수 없음'이어야 합니다.

megabox 2023. 6. 13. 22:09
반응형

axios 오류 유형 스크립트, 주석은 '임의' 또는 '알 수 없음'이어야 합니다.

의 오류가 발생했습니다.Catch clause variable type annotation must be 'any' or 'unknown' if specified.ts(1196)

아래의 규정으로 하여

import axios, { AxiosError } from "axios";
try {
        
    } catch(error: AxiosError) {
      throw Error(error);
    }

TS에서 axios 오류를 던지는 방법은 무엇입니까?

AxiosError를 사용하여 오류 캐스트

import  { AxiosError } from 'axios';

catch (error) {
  const err = error as AxiosError
  console.log(err.response?.data)
}

다음과 같은 오류 유형을 제거하는 것이 좋습니다.

import axios from 'axios';

try {
  // do what you want with axios
  // axios.get('https://example.com/some-api');
} catch (error) {
  // check if the error was thrown from axios
  if (axios.isAxiosError(error)) {
    // do something
    // or just re-throw the error
    throw error;
  } else {
    // do something else
    // or creating a new error
    throw new Error('different error than axios');
  }
}

저는 그것을 위해 스택 블리츠를 만들었습니다.더 자세히 알아보고 싶다면 이 기사를 보십시오.

형식 스크립트에서 catch 절 변수에 대한 특정 주석을 작성할 수 없습니다. 이는 javascript에서 catch 절이 지정된 형식의 예외뿐만 아니라 던져지는 모든 예외를 포착하기 때문입니다.

유형 스크립트에서 특정 유형의 예외만 잡으려면 던져진 것은 무엇이든 잡고, 처리할 유형의 예외인지 확인하고, 없으면 다시 던져야 합니다.

, 어떤 작업을 수행하기 전에 먼저 발생하는 오류가 axios 오류인지 확인합니다.

try {
// do something
}catch (err) {
     // check if error is an axios error
     if (axios.isAxiosError(err)) {
                
      // console.log(err.response?.data)
      if (!err?.response) {
          console.log("No Server Response");
       } else if (err.response?.status === 400) {
         console.log("Missing Username or Password");
       } else if (err.response?.status === 401) {
         console.log("Unauthorized");
        } else {
        console.log("Login Failed");
      } 
   } 
}

오류는 더 안전하게 잡을 수 있는 모든 유형의 방법일 수 있습니다.

try {
   // TODO :: API call
} catch (err) {
   if (error instanceof AxiosError) {
       // TODO :: handle it here
   } else {
      throw err
   }
}
catch (error) {
                const err:any=error;
                alert(err.response.data)
            }

저한테는 효과가 있어요 :)

언급URL : https://stackoverflow.com/questions/69264472/axios-error-typescript-annotation-must-be-any-or-unknown-if

반응형