Day 5・プログラムはどう動くか
エラーで止まるとは
エラー(例外)はブレーカーが落ちるようなもの。止まるのは意地悪ではなく、危険を防ぐための安全装置。
止まるのは「守るため」
プログラムが途中でエラーになって止まる。これは初心者にとって一番こわい瞬間かもしれません。でも安心してください。止まるのは意地悪ではなく、「このまま進むと危ないですよ」という安全装置が働いた結果です。専門用語ではこの「途中で起きた異常」を例外(exception)と呼びます。
たとえるなら
家の電気を使いすぎるとブレーカーが落ちて停電しますよね。あれは家電を守り、火事を防ぐための仕組みです。エラーで止まるのも同じ。おかしなまま突き進んで、もっとひどいこと(データが壊れる等)になる前に、あえて止めてくれているのです。
もう一つのたとえは、レシピの途中で「卵を割る」とあるのに卵が一つもない状況。料理人は勝手に進めず「卵がありません」と手を止めて教えてくれます。これがエラーメッセージです。止まったこと自体より、「なぜ止まったか」を教えてくれるメモだと思ってください。
エラーメッセージは敵ではなく手がかり
赤い文字がたくさん出るとギョッとしますが、エラーメッセージは「どこで・何が・なぜ」を教えてくれる手紙です。全部を理解しようとせず、まず一番上の一行と、ファイル名・行番号を見る。それだけで[[debu用語](原因さがし)の出発点になります。
- 止まる = 危険を防ぐ安全装置が働いた(ブレーカーが落ちた)
- エラーメッセージ = 「どこで・何が・なぜ」を教える手紙
- まず見るのは: 一番上の行 / ファイル名 / 行番号
- 「何もしていないのに壊れた」ではなく「何かのきっかけで止まった」と考える
// エラーメッセージの読み方(イメージ)
エラー: 卵が見つかりません(cannot read "卵")
場所: recipe.txt の 3 行目
// 読み取り: 3行目で「卵」を使おうとしたが、卵が用意されていなかったエラーを見ない対応
赤い文字にパニックして、メッセージを読まずにコードをやみくもに書き換える。運任せで、たいてい悪化する。
対応: とりあえずあちこち直すエラーを読む対応
メッセージの一番上と行番号を確認し、その場所を狙って直す。原因に近づける。
対応: 3行目の「卵」を用意するAIにはこう頼む
エラーが出たら、エラーメッセージ全文をそのまま貼って「これは何が原因?初心者にも分かるように説明して、直し方も教えて」と頼みましょう。メッセージを省略せずに貼るのがコツです。
丸投げの落とし穴
AIの直しをそのまま貼ってエラーが消えても、「なぜ止まっていたか」を素通りすると同じ壁に何度もぶつかります。原因を一言で言えるようになってから次へ進むと、確実に成長します。
なぜ大事か
エラーで止まってくれるからこそ、間違ったまま気づかず進む事故を防げます。止まることは失敗ではなく、直すチャンスをもらえた合図です。エラーと仲良くなれる人が、一番速く上達します。
読んでも腑に落ちない所は、AIに噛み砕いてもらいましょう。
理解度チェック
答えられれば、面接で説明できる状態に一歩近づきます。
プログラムがエラーで止まることを最もよく表すたとえは?
エラーメッセージが出たとき、最初に見るべきものとして適切なのは?
AIにコードを作ってもらっていてエラーが出ました。あなたはどう対処しますか。エラーメッセージという言葉を使って説明してください。
記述式です。まず自分の言葉で答えを考えてから、模範解答を開いて自己採点してください。