From: JF Ding Date: Mon, 20 Feb 2012 11:21:48 +0000 (+0800) Subject: fixed msger.PrintBufWrapper: proper handle of exceptions X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=02470688721e4232ce03713099bf5e69e1ee6f5e;p=tools%2Fgbs.git fixed msger.PrintBufWrapper: proper handle of exceptions catch the exception, stop the wrapper and print out the err message, then raise forward --- diff --git a/gitbuildsys/msger.py b/gitbuildsys/msger.py index 1f7d28d..93e5399 100644 --- a/gitbuildsys/msger.py +++ b/gitbuildsys/msger.py @@ -149,12 +149,17 @@ class PrintBufWrapper(object): if callable(orig_attr): def hooked(*args, **kwargs): self.pbuf.start() - result = orig_attr(*args, **kwargs) - stdout_msg, stderr_msg = self.pbuf.stop() - if stdout_msg: - self.func1(stdout_msg) - if stderr_msg: - self.func2(stderr_msg) + try: + result = orig_attr(*args, **kwargs) + except: + raise + finally: + stdout_msg, stderr_msg = self.pbuf.stop() + if stdout_msg: + self.func1(stdout_msg) + if stderr_msg: + self.func2(stderr_msg) + return result return hooked