失敗談 技術

「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))

-失敗談, 技術

執筆者:

関連記事

Reflex(Python) をSQLite + ログイン機能付きで使ってみる

2024年現在のWebアプリ作成方法の一つとして、「PythonだけでWebアプリを完結する」作り方があります。 その一つとしてReflexというのがあります。 Reflexとは PythonのWeb …

Githubからお告げ

Githubからお告げが来た お告げってのは大げさですが。 Github にpackage-lock.jsonを置いておくと、Githubが脆弱性検査をして、メールを知らせてくれます。 js-yaml …

整形/文法チェック ツール インストールまとめ

1.はじめに 最近、仕事で複数スクリプトを組み合わせてコーディングすることが多くなりました。 それだと、各スクリプトの癖を忘れたり、そもそもどう書くのか忘れたりと、不良を作りこむ可能性が多くなります。 …

vscodeのRemote Developmentで「権限がない」と怒られた時

小ネタです。 vscodeのRemote Developmentにてパスワードなしログイン vscodeは時々使うのですが、リモート開発するのにRemote Developmentが便利なので使ってま …

顔画像のモザイク方法(python + OpenCV + face_recognition)

Python3での顔画像モザイク方法 python3での顔画像モザイクの方法を調べてみました。 仕事とは関係なく、単なる趣味だったりしますが。。 この内容で、Djangoと統合する予定です。 Open …

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