configfileから値を取得しています。設定パーサーで例外がキャッチされていますが、エラートレースバックはPythonで表示されます
def __getConfigDetails(self):
try:
self.username = config.get("plugin_haproxy", 'user')
self.hostname = config.get("plugin_haproxy", 'host')
self.filelocation = config.get("plugin_haproxy", 'filepath')
except ConfigParser.NoOptionError as error:
logging.error(error)
print "Error in options Name", error
except ConfigParser.NoSectionError as error:
logging.error(error)
print "Error in sections Name", error
これで詳細情報を取得した後、私は、引数として上記の値を必要とする別の関数を呼び出しています:確か私のプログラムは、私は私の設定は以下のようにブロックを除き、試しに読み出し動作を持って発生する可能性があります任意の例外を処理するようにするには。私たちは、値の1は、もちろん使用できなくなることを知っているが、どのように我々は、このような状況を扱うか、なぜ例外が
self.executeCommand(self.username, self.hostname, self.filelocation)
プログラムは素晴らしい作品が、ユーザが設定のオプションを変更した場合とし、それを処理していませんファイルを変更し、のユーザー名をに変更しました。もちろん、このメソッドは、ConfigParser.NoOptionError例外を処理しているので、このメソッドを処理すると想定しています。ここで
、私のプログラムでは、それは例外を投げるだけでなく、以下のようなエラートレースバックを投げ、
Traceback (most recent call last):
File "main.py", line 67, in <module>
main()
File "main.py", line 59, in main
cons.PLUGIN_CONFIG_PATH, finaloutput, finallogs)
File "/home/tara/taraproject/checkaccessEnv/project2/plugins/plugin_haproxy/plugin_haproxy.py", line 51, in run
self.__getConfigDetails()
File "/home/tara/taraproject/checkaccessEnv/project2/plugins/plugin_haproxy/plugin_haproxy.py", line 23, in __getConfigDetails
self.username = config.get("plugin_haproxy", 'user')
File "/usr/lib/python2.7/ConfigParser.py", line 340, in get
raise NoOptionError(option, section)
ConfigParser.NoOptionError: No option 'user' in section: 'plugin_haproxy'
される私はなぜそれがそうである、例外の印刷が表示されるようにしたいですか?私はsecondfunctionつまり、それだけでさらに移動 よりも動作しますが、私は仕事forheadをやっ 例外を持っているので、これは解決策ではないかもしれない場合__executeCommandを確認するために、if節 に使用することで、この状況を処理することができます知っている
このような