どうもこんにちは。コンです。
改めまして、はじめましての方ように自己紹介すると
普段から私は仕事で、業務効率化のためのデスクトップアプリをPythonで作成しております。
(本筋は工場らしく製品検査とかいろいろ)
今回は、Pythonで作ったデスクトップアプリを同じ職場の人たちに配布する時に
少し工夫して使っているコードを紹介していきたいと思います。
try-except文
この記事のタイトルでネタバレしてますが、try-except文を使っています!!
try-exceptはPythonで例外(実行中に検出されたエラー)をキャッチして処理する時に使います。
普通は例外が発生すると、コードの実行が途中で終了してしまうのですが、tyr-exceptを使うと
例外が発生しても、終了させずに実行処理を継続できます!!
下のコードは、try-except文の例になります。
tryで例外が起こる内容を書き、except文で例外の内容をprintしています。
配布するデスクトップ中でのtry-except文
業務効率化のアプリを作成し、
いざデスクトップアプリを配布した時あるあるな話ですが
配布した次の日あたりから、「思ったように動かないよ〜」という声をよくいただきます。
(大変申し訳ない)
そんな時に例外(エラー)の内容や、どこにアプリを置いたかが気になりますよね。
そこで、デスクトップアプリを作成する際に
例外が発生した時に内容とディレクトリの情報をエラーログとしてtextファイルに書き出す
工夫をすると、エラーの内容を把握するのに役立ちます。
そのコードの書き方がこちら
import datetime
import os
import traceback
try:
#わざとエラー
a = 1 /0
except:
#例外の内容取得
e=traceback.format_exc()
folder_name = os.getcwd()
today = str(datetime.datetime.today().date())
file_name = today + 'このファイルをコンに送ってください.txt'
f = open(file_name, 'w')
f.write(e +' , '+ folder_name)
f.close()
tracebackモジュールのformat_exc()関数を使うと、エラーの内容を文字列で取得することができます。
この内容とディレクトリ情報(とりあえず)を、なんだかメールかチャットで送ってもらえそうなファイル名にするようなプログラムにしてデスクトップアプリを配布しているのが
最近の私の日常です。
デスクトップアプリに関しては「Pythonではじめるデスクトップアプリ開発入門」が
業務効率化を目指すPython初学者にとって、親切に書かれていたのでずっとオススメしてます。
おわりに
ここまで読んでいただき、ありがとうございました。
個人的には
本当は例外エラーなんぞ出したくないのですが、時々でてしまうのが大変申し訳なく思っております。
そんなエラーがあっても、指摘したり協力したりしてくださる職場に感謝しながら
明日からも頑張ります。
ではでは。