猫と遊ぶ 見習いプログラマーの備忘録

日々の学んだ事を随時更新。主にプログラム。その他いろいろ

例外処理 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と書いておくと、すべての例外処理の内容が表示されるみたい👌