《JavaScript》axiosでerror(エラー)をobject(オブジェクト)で受け取る方法

JavaScript

errorをobjectで取れない事象にハマった

Chomeのconsoleでの出力が文字列

エンドポイントがエラーを返す時、catchでそのresponseを拾うのがaxiosの機能であると思うのですが、拾ったerrorをchomeのconsoleで見ると以下の文字列になっていました。

ここで私は完全にハマってしまいました。objectでerrorを拾いたいのに文字列で取得していると思ったからです。

 

解決方法

errorは文字列ではなかった

結論から言うと「chomeのconsoleに出力された文字列はコード上では文字列ではなくobjectであった」です。gitのissueをみて自分の誤りに気がつきました。

You can also use a global interceptor and reject only the error.response. The problem is when the console.log tries to output the error, the string representation is printed, not the object structure, so you do not see the .response property.

引用:「Axios catch error returns javascript error not server response」

Axios catch error returns javascript error not server response · Issue #960 · axios/axios
Im trying to catch validation errors from the server. Code: axios.post('/formulas/create', { name: "", parts: "" }) .then( (response...

consoleでは文字列(string)のように出力されますが、実際はobjectです。完全にハマってしまいました。実際に以下のconsole.logを変えて出力すると

objectの形式で拾うことができていました。私のようにハマってしまう方がもしかしたら、いるかもしれないので記事にしておきました。

番外:その他おすすめの記事

エンジニアがもっと楽しく仕事できるようにスキルアップの方法や役立つ情報を発信しています。興味がある方はご覧になってください。読者の皆様にとって損になるようなことはないと思います。使ってない方は是非使ってみてください!

おすすめアイテム①

自分はオフィス次の2点の座布団と背もたれクッションを利用してます。姿勢が安定し、お尻への負担が激減します。オフィスにいるのに自宅で作業しているような感覚になるので気に入ってます。また疲労感もかなり減るので費用対効果が非常に高いアイテムだと思ってます!

おすすめアイテム②

ブックスタンドみなさん使ってますか?PCを打ちながら参考書見る時に手で抑える必要がなくなるので非常に便利です。自分も購入した時なんでいままで使ってなかたんだろうと後悔したのでまだ持ってない方は買っておくと作業効率があがりますよ!

エンジニアの基礎知識・教養

別の記事でエンジニアとして知っておくべき技術本についてまとめました。スキルの高いエンジニアは極々当たり前にしっている知識だとおもいますが、そうでない方、エンジニアのスキルに不安があるかたに是非読んで欲しい技術本をまとめました。そのなかで例を1つあげるならば「リーダブルコード」などが挙げられます。優秀なエンジニアの先輩でこの本を読んでいない方はほぼいないと思います。エンジニアのスキルを上げるために、ある程度読むべき本というものが決まっているのできちんと読んで勉強しましょう。

時短アイテム!日々の生活の質を上げる

日常生活における無駄を省く表品をまとめました。1日無駄な作業時間が10分発生するとしたら1年間で3600時間もその無駄な作業に時間を費やすことになります。このような魔の作業を消し去ってくれる商品をまとめました。全て自分が使ってお勧めできる商品のみ紹介してます。

気軽にお声かけください

このような形でほぼ毎日、情報発信を行ってます。技術的な部分で誤っている点などもあるかもしれません。その様な部分を発見した方はTwitterのDMなどで知らせていただければ凄い嬉しいです。また自身自身のエンジニアのネットワークを広げたいと思ってます。日頃六本木や渋谷にいることが多いですので気軽にお誘いください。情報交換しましょう。

筆者
筆者

今回の記事の内容は以上で終了です。最後まで読んでくれてありがとうございました。Twitterもやってるのでフォローしてくれたら嬉しいです!

タイトルとURLをコピーしました