失敗談 技術

「Python3 メモ」 独自例外クラスからの値取得/変数の内容取得

投稿日:2019年8月27日 更新日:

忙しい。。

この時期でなぜか忙しく、ブログ書いてる暇ない。。のでメモ書き程度。
そして、内容をよく忘れるやつ。。

python3の独自例外クラス

例外クラスからの値取得方法をいつも忘れます。
ある関数orクラスから、別のところに例外を投げた際に、値(エラーコード的な)を渡したいときによく使うんですが。。

サンプルは以下の感じです。

$ vi aa.py
class Error(Exception):

    def __init__(self, resp, args):
        self._args = args
        super().__init__(resp)


def func():
    args = dict(ErrorCode='error')
    raise Error(dict(resp=""), args)


try:
    result = func()
except Error as e:
    print(e)
    print(e.args)
    print(e._args)

$ python3 aa.py
{'resp': ''}
({'resp': ''},)
{'ErrorCode': 'error'}

基本は、”args”で値を取ります。継承したクラスで独自に付け加えたいときの例として、暫定的に”_args”で設定しています。

Pythonで変数の内容を取りたいとき

これもよく忘れる。。以下で変数の内容を取得できます。

print(vars(e))

-失敗談, 技術

執筆者:

関連記事

小ネタ: JavaScriptにてBase64エンコード/デコードする方法

小ネタです。JavaScriptにてBase64エンコード/デコードをしようとして、意外と詰まったので、メモ的に方法を書いておきます。 結論: js-base64ライブラリを使用する これだけです。。 …

CentOS7 + Django2.2 + uwsgi + nginx 連携方法

Djangoとnginx連携方法 以前はApache経由で連携しましたが、今回はnginxと連携する方法を記述します。 環境 設定した環境は以下です。 OS: CentOS7Python3.6.8 ( …

seaborn + Pandas + Python によるグラフ描画(その1: 準備編)

グラフ描画してみよう 今現在の仕事で、グラフ描画する可能性があるので、少し練習してみようと思います。 題材について 突然ですが、私は確定拠出型年金に加入しています。証券会社はSBI証券 にしています。 …

最近の故障/修正物

近年で故障し、しょうがないから修理、というか購入したもの、及び顛末を書いてみます。 ハードディスク・レコーダー ちょっと前から調子が悪く、電源がつかなかったり、ついたと思ったら、録画物のリストがおかし …

Django2.2 でのMySQL5.1対応

「対応」と書きながら、思い切り回避ですが。 マイグレーション時のエラー マイグレーションしたら、以下のエラーになりました。 $ pipenv run python3 manage.py migrate …

google オプトアウト Click here to opt-out.