はいこんにちは今回は python 入門の第17回目を始めたいと思います それで今回学習する内容ですねこちらの例外処理になります でまずですねこちら例外処理を書いていくためにある関数を作成したいかなと思います でそれはどんな関数何ですかというと2つの変数をですね 足し合わせる関数っていうのを用意したいと思います で早速書いていくんですけども前回学習したラムダ式っていうのを使って関数を作成し たいと思いますで数名ですね アドナムと彼にしてあげてここでで ね駄目だって書いてあげてで2つの変数を足し合わせる関数になるので気数がですね a と b の二つ用意してあげるんですねでっ a + b スポーツを返して あげるとこうですねこれだけで 2つの変数を足し合わせる関数を作成できました でここでですね例えば あどうナムの中の引数にですね 数字の5と文字列のにを入れるとどうなるのかというとですねこれシフトエンターして みましょう そうするとですねこちらインテーザ方と string 型は足し算できませんよと いうことでエラーになったんですねでこの時にですね 今回学習する例外処理またエラーハンドリングとか言ったりするんですけどもこれを 使ったゲイルとですね プログラムの実行中にエラーが出たとしてもその後の 処理をですね継続してできるようになるんですね で早速書いていくんですけどもまずはですね エラーハンドリングする時はトライって書くんですね でとラインの中に2つの変数を足し合わせる関数を作成して れその次ですねえ変数を足し合わせるという結果をじゃあ変数 r の中に入れてあげ ますと でこの後にですね エクセプトこれですねでここでプリントで例えば 例外が発生しましたぞ このように書いてあげたいと思いますで最後にですね このトライエクセプトをかいた後に関係ない場所でですね グリーンとの例外処理が終わりました このように書いてあげますでこれをですね少し解説していくんですけども まずですねこちら 上からプログラムが実行されていた時に最初はこのトライの中身を実行してみるとこの トライて挑戦っていう意味なんですけども このスタの処理をですね挑戦してみるんですね でまずですねここ関数を作成してみますと のでその次ですねこちら数字の1と文字 いつ何を足し算してみるとでもしこの中身がエラーになったらその場合にはエクセぷと の者に書いた処理を実行しますよとこういう意味合いになるんですねなので今回の場合 だと そういう時の位置と文字列のに私ができないのでこちらですね exception の中に書いてある例外 が発生しましたっていう文章が出力されてさらにですねこちら捉え accept で 実行が終了した後に書いてある 9 print 文ですね映画い処理を終わりましたと ここが実行されるようになるんですねで実際にシフトエンターしてみるんですけども はいこちらの通りですね例外が発生しました 英文ショート例外処理終わりましたと この文章が出てくるかと思います で今ですねとライト x セプトでそのまま書いていたんですけども エラーの原因をですね延長することができるんですね でそれはどうやってやるのかって言うとこの例外処理をコピーしてあげてで下に 貼り付けたいと思います で少しを整えてあげてですねでこの関数は外 に出しておいて ok ですでここでですね r の結果を者プリントしたいですよとこれはですね 結局このアドナムの数字の1と文字列にを足しているので結果的にですね 先ほどと変わらない出力になるはずですなのでシフトエンターして確認してみると廃校 ですね 例外が発生しましたで例外処理を終わります あと でこの時にエラーの原因を出力するようにするにはですね こちらへ来セプトの後にタイプエラーと 書いてあげてそれをあ水いいとしておくんですね でプリントで このいいを出力してあげると こうやって書くとですねこれでシフトエンターをするとこちらの通りでですね タイプエラーの中身がここに書かれていて でそれがここの部分ですねれその後はですね 先ほどと同じように例外が発生しましたっていう文章が出力されてね最後の例外処理が 終わりましたという文章が強くされるようになってます あ このようにですね例外処理を使ってあげると彼にプログラムでエラーがあったとしても プログラムの実行中断せずに処理を続けられるようになるんですね で今ですね都内の中をあえてエラーが出るように書いていたんですけどもこれはですね 例えばちゃんと成功する形で書いてあげると 要するに2時の1と2を立ち会わせてあげると なのでここをですね文字列じゃなくてそういう子に変更するとどうなるのかという ところなんですけどもこれシフトエンターしてあげると こちら数字なさんと例外処理を終わりました という文章が強くされますこれはなぜならですね このトライの中身で調整した部分がちゃんと成功したのでここのエクセ分っていうのが 実行されなかったんですね なのでここのグリーンと r っていうやつと最後の例外処理を終わりましたとここ だけが実行された形になりますはいさらにですね で 例外処理はとライト x エプトだけじゃなくてエルスくっていうのもあるんですね で実際それを見ていくんですけどもこちらですね 先ほどの例外処理をコピーしてあげて ねっこヅラにペーストつてあげたいと思います で l スクっていうのはですねこの x エプトの下に書いていくんですけども ここはどんな場合に実行されるかっていうと正しくコードが動作したときに実行 されるんですねなので例えば9と台で造船した内容がちゃんとあっていたらこのエルス くっていうのを実行すると なのでこちらプリント r っていうやつを エルス口の中に入れて ok なんですね廃校ですね で実際にシフトエンター実行すると捉えの中に がちゃんと実行できたのでペレスの中でここを実行してあげたと でこれですねまたコピーしてあげてこの下にもう一回貼り付けてあげるんですけども これでですねとラインの中身が数字の1と文字列のにを立ち上げるとこのように書いた 場合ですねこれでシフトエンターすると の会ディスクの中身は実行されないんですね なぜなら会ですくっていうのはこのトライの中でそれが実行できた時のみ ここが適用されるからですねなのでここまでの話をまとめるとですね まずはトライを実行してみますと でその上でですねもしこの処理が実行できなかったら その場合にはエクセぷとの中身を処理すると でトライの中身がですねちゃんと実行できたと言った場合にはこっちのエルスの中身を 実行するんですね でさらにですねこちらとライトエクセプトと s だけじゃなくて finally っていうやつもあるんですね でそれも早速みていくんですけどもこちらですね プラ xol 数がであって最後の finally ですね でこの finally 何かっていうと それが成功したか否かに関わらず絶対に実行するという部分になるんですね なので先ほどのコードをコピーしてあげて でここに貼り付けてあげるんですけどもこれですねエルスの下に finally と 書いてあげて れプリントでですね例外処理を 終わりましたと言っ でこっちの下の例外処理終わりましたの前にですねちょっとわかりやすいように *を書いてあげたいと思いますでこれでですね こちらトライの時はいったん 処理を成功させたいと思うので2時の1と2を足し合わせると このように書いてあげて日付とエンターしてあげたいと思います そうするとですねこちら4つ出力が出てくるんですけども まずですねこちらトライの下を挑戦してみて でこれはですね数字の1と2がちゃんと立ち会わせることができますので今度 l スニークんですね でエルスではプリントの r と書いているので 1+22 結果であるさんが出力されているかと思います でその次ですねこちら例外処理が最後終わるときなのでこの例外処理終わりました ビックリって言う方が出力されるんですね で最後にここの例外シュート関係ない部分 例外処理終わりました丸の方ですねこれが実行されると で今度ですね9例外処理の部分でそう頭の5多数 文字列のにを足し合わせてみたいと思います でこれでシフトエンターすると こちらの通りですね今度は5つ出てきたんですけれどもこれはですね まず数字内地と文字列のにお菓子合わせてみようと調整してみるんですけども 2時の位置と文字列のには足し算できないのでここはですねえっ曲ぷとが実行されるん ですね でエクセプトではです 猫のエラーの原因と後例外が発生しますという事実を強くするようになっていたので それがここに当たるんですね でその次にエルスくっていうのはトライの中身が正しかった時のみ実行されるのでここ はスキップされて最後ですね 9 finally というのは成功しようが失敗しようが どちらにしても実行される部分になっていたのでそれはですね ここで3度出力されているかと思います このようにですねトライエクセプトと後 s finally ですね ここらへんを使ってあげると例外処理っていうのが書けるようになります でこの例外処理ですねどんなときに使うなと言った話になるんですけども 例えばですね廃村でスクレイピングをする時なんですけども まずですねこのスクレーピングってなんなんだという話なんですけどもこれはですね web 上のデータをプログラムで自動的に取得する技術のことに んですね でこのスクレイピングをする時にですねもし url にアクセスできなかったらそう いった時にこの例外処理を使えるんですね 例えば2010くらいの12月31日までアクセスできてた url が2020年に 変わったとたにアクセスできなくなっ するという場合があるんですね こういった感じでですね事前にパターン理由はちょっと難しいんだけどもしかしたら エラーになるかもしれないなと こういった時に例外処理を使ってあげるんですね これ実際にですね例外処理を使って文字で書いていくんですけども トライでですねこちらスクレイピングに挑戦すると ただですねこれにはもしかしたら失敗するかもしれないのでそういった時はですね ここに url をプリントしてあげると口数とですね どの url がアクセスできなかったのかということがわかるようになるんですね はい例外種類はですねすぐに使うということはないんですけどもどこかのタイミングで 必ず使うことになりますので今のうちにですね しっかりとおさえておきましょうはい今回の動画はこれで以上になります 今回も動画をご紹いただき本当にありがとうございました 引き続きが 貼っていきましょう