‍🦔 8章:エラーと例外
作成日: 2022/04/10
0

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


Python・Java・C#を学びます。