top of page

【初級編】第8回:エラーとバグを乗り越える

  • 執筆者の写真: きょーすけ
    きょーすけ
  • 5月26日
  • 読了時間: 4分

更新日:5月26日



エラーとバグを乗り越える
エラーとバグを乗り越える

こんにちは!

きょーすけです😊


いよいよ「初級編」も折り返し地点に来ましたね。

ここまで進めてきたあなた、ほんとうにすごいです!


さて今回は、プログラミングで避けては通れない存在、「エラー」と「バグ」について一緒に学んでいきましょう。




------------------------------

◆ エラーってなに?

------------------------------


エラーとは、プログラムに問題があるときに出てくる“警告”や“注意”のようなものです。


例えば:

python

print("こんにちは"

カッコが閉じていないので、実行するとこんなメッセージが出ます:

javascript

SyntaxError: unexpected EOF while parsing

最初は意味不明に見えるかもしれませんが、慣れればちゃんと“ヒント”をくれているんです!




------------------------------

◆ バグとは?

------------------------------


バグ(bug)は、プログラムが意図しない動きをする現象のことです。

エラーと違って「見た目ではうまく動いているけど、実は中身がおかしい」ことも多いです。


たとえば:

python

def add(a, b): 
    return a - b # 足し算のつもりが引き算している!

→ エラーは出ませんが、結果が間違ってしまう




------------------------------

◆ エラーの種類と対処法

------------------------------


Pythonでよく出てくる代表的なエラーを紹介します。


▶ SyntaxError(構文エラー)

python

print("こんにちは"

原因: 括弧が閉じていない、コロンを忘れた、文法ミス

対処: エラーの行を見て、文法を見直そう!




------------------------------

▶ NameError(名前が未定義)

------------------------------


python

print(message)

原因: 変数messageが定義されていない

対処: スペルミスや定義忘れに注意!




------------------------------

▶ TypeError(型のミス)

------------------------------


python

print("年齢は" + 25)

原因: 文字列と数値を無理やり足そうとした

対処: str(25)で型変換を使おう!




------------------------------

▶ IndexError(インデックスの範囲外)

------------------------------


python

fruits = ["りんご", "みかん"] print(fruits[2])

原因: 存在しない3番目を指定してしまった

対処: リストの長さを確認しよう!




------------------------------

▶ ValueError(値の変換エラー)

------------------------------


python

int("こんにちは")

原因: 数字以外を int() に入れた

対処: 変換する前にチェックしよう!




------------------------------

◆ エラーメッセージの読み方

------------------------------


エラーが出たら、まずは落ち着いて以下の3点を確認しましょう。

  1. エラーの種類(SyntaxError, NameErrorなど)

  2. どの行で起きたのか(例:line 5)

  3. エラーメッセージの内容(unexpected, undefinedなど)


慣れれば「翻訳」できるようになります!




------------------------------

◆ バグを見つける「デバッグ」のコツ

------------------------------


▶ 1. printで中身を確かめる

python

print("nameの中身は:", name)

→ これは初心者最強の技です!


▶ 2. 小さく分けて実行する

一度に全部のコードを書くのではなく、少しずつ動かして確認することで、ミスを早めに見つけられます。



▶ 3. 仮説と検証を繰り返す

  • 「たぶんこの変数が間違ってる?」

  • 「もし if の条件が違ってたら?」

考えて→書いて→動かして→考えるを繰り返すことが、成長につながります!




------------------------------

◆ エラー体験を「成長の証」に変えよう

------------------------------


エラーは「失敗」じゃありません。むしろ、「あなたがコードを書けるようになった証拠」なんです!




------------------------------

◆ ミニ演習:エラーを直してみよう!

------------------------------


python

age = input("年齢を入力してください:") 

if age >= 18: 
    print("成人です")

このコードは、以下のようにエラーになります:

javascript

TypeError: '>=' not supported between instances of 'str' and 'int'

▶ 修正:

python

age = int(input("年齢を入力してください:")) 

if age >= 18: 
    print("成人です")

エラーメッセージを読んで、原因に気づく練習をしましょう!




------------------------------

◆ よくある質問Q&A

------------------------------


Q. エラーが出ると怖くなります…

→ 最初はみんなそうです!「出たら読み解くパズル」だと思えばOK。


Q. デバッグって難しくないですか?

→ 最初は print() だけでも立派なデバッグです。コツは「一度にやろうとしない」こと!


Q. ChatGPTや検索で助けを借りてもいいですか?

→ もちろん!むしろ、調べながら書くのが当たり前です!




------------------------------

◆ まとめ:エラーは怖くない!

------------------------------


  • エラーは「失敗」ではなく「学び」

  • よくあるエラーはパターンで覚えよう

  • printで中身を見るだけでも立派なデバッグ

  • 一歩ずつ原因をたどれば、必ず解決できる!




------------------------------

◆ 次回予告

------------------------------


次回はいよいよ!**計算や実用的な処理にチャレンジする「プログラミングで計算してみよう」**の回です。


税率計算や割り算、少数と整数の違いなど、日常にも役立つ知識をプログラムで身につけましょう!




------------------------------

◆ おわりに

------------------------------


最後まで読んでくださって、本当にありがとうございました。


エラーが出るのは、あなたが挑戦している証拠です。

わからなくても、間違っても、やめずに前に進んでいきましょう。

きょーすけは、あなたの味方です!




------------------------------

🌱株式会社Minatoでは…

------------------------------


きょーすけが働いている株式会社Minatoでは、「人として成長したい」「技術だけでなく、想いを形にしたい」そんなエンジニアを募集しています。


何かに挑戦しているあなたを、Minatoはいつでも歓迎しています。

少しでも興味があれば、ぜひWebサイトをご覧ください!


それではまた次回!きょーすけでした😊





Comments


bottom of page