例外処理 try ~ except
先日、Pythonでメールを送信する機能を書いた。
が、その時に、ある処理を施していなかった。
それは、例外処理。
今まで例外処理は気にしていなかった。
これからプログラムを書くときは、書くようにしたほうがいいみたい!
むしろ、これからいろいろプログラムを書いていくなら、例外処理は書くべきかも…!
なぜ例外処理を書くべきなのかというと、
メールのはなしをしているので、メールサーバーに関していうと、
以前載せたメールサーバーの処理を一部抜粋する。
# SMTPサーバへの接続
server = smtplib.SMTP(srv_smtp,srv_port)
server.send_message(msg)
server.quit()
こんな感じで処理を書いた。
まあこれでも動くには動くのだが、
もし、メールサーバーが突然落ちたら…
もし、それでプログラムが動かなくなったら…
もしもを予測すると、おそろしい。
それが原因で、プログラムが止まってしまったら、どうしよう。
そんな時に必要なのが、例外処理!
実際に追加したメールサーバーの例外処理がこちら。
# SMTPサーバへの接続 try: server = smtplib.SMTP(srv_smtp,srv_port) server.send_message(msg) server.quit() except Exception as E: print("***** エラー内容 *****") print("type: "+ str(type(E))) print("args: " + str(E.args)) print("message: " + E.message) print("E自信: " + str(E)) print("finish!")
上記の例外処理は、簡単かつ、エラーの内容がわかり、コードが比較的短めに済むようだ。
まず、例外処理というのは、書き方がだいたい決まっているらしい。
Exceptionと書いておくと、すべての例外処理の内容が表示されるみたい👌