Python学習: Day 30‐例外について
2024年3月末までの目標🌕!
- Udemyの100 Days of Codeを完了
- おまけに欲張ってCISSP資格を取得し、Cyber Security分野に転向
私の使ってる学習素材です📚。アンジェラねーさんには足向けて寝れませんッ。
今日のPlaylist:
写真にあるLipstick Keyboardが今日Amazonから到着。カチカチとタイプライターのように音をたてながらPython している。最近、プロジェクトのGo-liveを控えてストレスいっぱいなので、このキーボードで気分を盛り上げて明るく(?)乗り越えようと思い、思い切って買ってみた。今年は還暦だから赤色の買い物にハマりそうだわ。
Day30
try-exceptの使い方。
例外が生じたエラー箇所で、その場合はこーしろあーしろと指示しておけばエラーのまま残らず済むってゆーやつ。
try:
file = open("a_file.txt")
except:
file = open("a_file.txt", "w")
file.write("something")
これは、存在しないa_fileを開けと言って、
なければ記述できるようにfileを作成し、somethingと記入しろと言っている。
でもexceptのみを使うのはよくない。
以下のようなコードだとエラーが出ない。
try:
file = open("a_file.txt")
a_dictionary = {"key": "value"}
print(a_dictionary["wqeoiuf"])
except:
file = open("a_file.txt", "w")
file.write("something")
print(a_dictionary["wqeoiuf"])
これはエラーになるけど、
except:
file = open("a_file.txt", "w")
file.write("something")
これは続行するのでファイルを作ってsomethingと記入することになる。
今度はexcept FileNotFoundError:を使ってみると、dictionaryにないKeyをprint出来ない、というエラーが発生。
try:
file = open("a_file.txt")
a_dictionary = {"key": "value"}
print(a_dictionary["wqeoiuf"])
except FileNotFoundError:
file = open("a_file.txt", "w")
file.write("something")
KeyError: 'wqeoiuf'
エラーが発生する。
KeyErrorの時は表示が出るようにする。
except KeyError as error_message:
try:
file = open("a_file.txt")
a_dictionary = {"key": "value"}
print(a_dictionary["wqeoiufk"])
except FileNotFoundError:
file = open("a_file.txt", "w")
file.write("something")
except KeyError as error_message:
print(f"that key {error_message}doesn not exist.")
そして、下のコードはこんな意味。
ファイルがない → FileNotFoundの例外で対処
a_dictionaryのKeyを読む → これはValueを返す
ファイルがなかったので、a_fileを開きsomethingと記入。
KeyError はこの場合はなし。
a_fileを読んでprintすると、somethingが上のvalueの下に書かれる。
最後にfinallyのprintで終了!
try:
file = open("a_file.txt")
a_dictionary = {"key": "value"}
print(a_dictionary["key"])
except FileNotFoundError:
file = open("a_file.txt", "w")
file.write("something")
except KeyError as error_message:
print(f"that key {error_message}doesn not exist.")
else:
content = file.read()
print(content)
finally:
print("The program was executed.")
アウトプットはこうなる。
value
something
The program was executed.
今日はここまで。
新しいキーボードは、メカニカルなので深い!Typoばっかりで結構慣れるまでしんどいなぁ、これ!
でもキラキラなので許すわ。
こんなゲーマーみたいなKeyboardで喜べる自分が可愛いわぁ。🤗
この記事が気に入ったらサポートをしてみませんか?