前提・実現したいこと
Pythonで、モジュールの先から投げられた例外を拾ってきたいです。
mrmain.pyがモジュールmymoduleの先の関数ifzeroを呼んでくるのを書きました。
ifzeroは、引数をひとつ受け取って、引数が0ならaiszeroという例外を発生します。
mrmain.pyは例外を受け取ったら、受け取った旨表示したいです。
発生している問題・エラーメッセージ
NameError: name 'aiszero' is not defined
該当のソースコード
Python
1# こちらがメイン mrmain.py 2 3import mymodule 4 5def myFunc(a): 6 try: 7 return mymodule.ifzero(a) 8 except aiszero: 9 print('a is zero!') 10 11a=0 12print(myFunc(a))
Python
1#こちらがモジュール mymodule.py 2 3class aiszero(Exception): 4 pass 5 6def ifzero(a): 7 if a==0: 8 raise aiszero 9 else: 10 return a
'a is zero!'がprintされたらいいと思ったんですがエラーでした。
「NameError: name 'aiszero' is not defined」と出ます。
試したこと
mrmain.pyに、クラスの情報を書き足したりしました。
Python
1class aiszero(Exception): 2 pass
モジュールの先と内容重複しちゃうし、エラーは変わりませんでした。
補足情報(FW/ツールのバージョンなど)
python3 -VしたらPython 3.6.5でした!
クラスを作ったりするの慣れてないのでそれがあやしいと思うんですがわかりませんでした…。
お手数ですがなにとぞよろしくお願いします!
回答1件
あなたの回答
tips
プレビュー