2017-09-06 8 views
0

私のpythonプログラムはpythoncom(pythoncomxx.dll)を使用しています。 私は時々 'com_error'例外(これは問題ありません)を取得しています。例外ハンドラでそれを捕まえたいと思います。com_errorをキャッチする方法

しかし、私が次のことをしようとすると、コンパイラは 'com_error'が不明であると訴える。

try: 
    self.session.findById(tree_id).expandNode(node_id) 
except com_error: 
    print_exc() 

私は輸入に以下を追加しましたが、これは助けない:ショー「com_error」「pythoncom輸入com_errorから」ステートメントは、「ソリューションが」にある赤い

import pythoncom 
import win32com.client 
import time 
from traceback import print_exc 
from pythoncom import com_error 

に下線ちょうどすべての例外をキャッチするが、私はこの1つをキャッチしたい。 'com_error'をプログラムに知らせるにはどうすればよいですか?

ありがとうございます!

+0

例外のトレースバックを投稿してください(try/exceptなし)。 – wwii

+0

'pythoncom.com_error as error'を試しましたか? https://stackoverflow.com/a/9203513/2823755、http://timgolden.me.uk/pywin32-docs/com_error.html – wwii

+0

これをキャッチするすべての例は、それを 'pythoncom'の属性として表示します - https:/ /github.com/SublimeText/Pywin32/search?utf8=%E2%9C%93&q=com_error&type= – wwii

答えて

2

私は特にpythoncomについて何も知らないが、それはインポートが正しいことをGoogleから検索しているようだ。あなたは赤い下線付きのコードを実行しようとしましたか?

pythonは動的言語であるため、赤で下線を引いたエラーはすべて実際のエラーではありません。いくつかのIDEはpythoncomのようなコンパイルされた拡張の内容を検査することができません。

+0

ありがとうございました! IDEのエラーにもかかわらず、実際に動作します! – Mytzenka

+0

pydevを使用している場合は、pythoncomを 'forced_builtins'に追加して、エラーを取り除くことができます。 http://www.pydev.org/manual_101_interpreter.htmlを参照してください。 –

関連する問題