TypeScript + Axios でエラーハンドリング

TypeScript と Axios を使っている場合にレスポンスがエラーになった場合のエラーハンドリングについてです。

TypeScript を使っているため catch の error はできれば unknown にしたいですが、そうすると error の型をせばめる必要があります。

try {
    const result = await postUser()
} catch(error: unknown) {
    handleError(error) // error は unknown なので Axios のエラーであることをチェックしたい
}

その場合 axios.isAxiosError が便利です。

この関数を使うことで true だった場合は、error の型が AxiosError になります。

try {
    const result = await postUser()
} catch(error: unknown) {
    if(axios. isAxiosError(error)){
        handleError(error) // error は AxiosError
    }
}