Python3エンジニア認定試験
今回は8章です!
SyntaxError: invalid syntax
構文エラー
・プログラムの文法が間違っていると表示
・エラー箇所の修正が必要
例外:exception
実行中に検知されたエラー
・0で割り算はできない:ZeroDivisionError
・未定義の変数を呼ぼうとした:NameError
・文字列と数値の足し算はできない:TypeError
解決方法
・最終業のエラーメッセージをググる
・自分独自のコードに関する箇所は消してググる
・例外が発生する最小のコードを作って再現させて質問する
例外の処理
・tryの中で例外が起きたら
・exceptへ処理を移す
・どんな例外かで分岐が可能
# TypeErrorを処理した例
>>>try:
... "1" + 1
... except TypeError:
... print("TypeErrorです")
... except:
... print("何かエラーです")
...
Typeエラーです
例外の送出
好きなタイミングで例外を発生させることができる
・raise 例外名("メッセージ")
ユーザー定義例外
自作の例外で、関数内に起きた問題を明確にする
。try ~ except ~ で例外処理が可能
・通常の関数と同じように記述可
・名前の最後にErrorをつける慣習
。複雑な処理をさせずにエラー理由が分かると良い
クリーンアップ動作の定義
tryから抜け出す時に必ず実行される
try内で例外が発生しても実行
tryが正常終了した場合も
finallyが実行される
try ~ except ~ else ~ finally
例外処理における役割分担
・try:例外が発生するかも知れない処理
・except:例外発生後の対応方法
・else:try終了後の処理
・finally:何が起きても実行される
オブジェクトに定義済みのクリーンアップ動作
ファイルを開く操作はwith文で正常終了させる
>>>with open("README") as f:
... readme = f.read()
...
withを使わない場合はcloseが必要
>>>f = open("README")
>>>readme = f.read()
>>>f.close
感想
だんだんわからないところが増えてきました。。
一通り見ていくことが重要だと思うので、あまり気にせず進んでいきます。
出典
データサイエンティストgepuroさん
「Python3エンジニア認定基礎試験 合格への勉強方法」
https://www.youtube.com/watch?v=BUzFIGyIojg&list=PLO-KH_xqEh8FHpIUXWHVJnJLXi6XO7BF