それでは、私は、このPythonコードを持っているとしましょう:一般的な例外を吹き飛ばしたいのですが、私はPythonで何をしますか?
def loopForEachFileInDirectory(self, conn):
for filename in os.listdir(uploadedFilesDirectory):
try:
self.insertNewEntryForStagingFile(conn, filename)
self.copyFilesToStagingDirectory(filename)
except: ???
def copyFilesToStagingDirectory(self, filename):
logging.info("copying %s to youtube_ready",filename)
try:
shutil.copy(uploadedFilesDirectory+filename, stagingDirectory)
logging.info("move successful")
except shutil.Error,e:
logging.warn("move failed for reasons \n\t%d:%s", e.args[0],e.args[1])
raise ???
は今、「loopForEachFileInDirectory」方法はそれにさらにいくつかのメソッドを持っているとしている - 私はきれいなコーディング(歓声ロバート・マーティン)のビットをやっていますここに。私が望むのは、サブメソッドからの例外を吹き飛ばし、メインループで何かが発生した場合、そのループを保留し続けます。
質問は、一般的な例外をバブリングするルールは何ですか?私はちょうどそれ自身で上げるか?もしそうなら、私はどのように一般的に例外をスローするのですか?一般的な例外の詳細をキャッチしてどのように記録するのですか?
固体とクリア、ありがとう! – bharal