スタックトレースは、エラーが起きるまでに通った関数の履歴です。
TypeError: Cannot read properties of undefined
at formatUser (src/user.js:18:20)
at renderProfile (src/profile.js:42:12)
at async loadPage (src/page.js:9:3)
読む順番
- エラー名とメッセージ
- 最初の自分のファイル
- その関数を呼んだ一つ下の行
- 入力値が作られた場所
この例では、18行目だけでなく、renderProfileが何を渡したかも確認します。
ライブラリ行との境界
node_modulesの行が大量にあっても、最初に現れる自分のコードを探します。ライブラリ内部の不具合と決めつけず、渡した引数や呼び出し方を確認します。
asyncの場合
非同期処理では途中の呼び出しが省略される場合があります。Request ID、直前ログ、NetworkのResponseも合わせます。
練習メモ
例外が発生した関数:
呼び出し元:
渡された値:
最初に期待と違った場所: