[lttng-dev] [UST PATCH] Add exception handling to lttng-gen-tp io operations
Yannick Brosseau
yannick.brosseau at gmail.com
Mon Mar 19 13:11:59 EDT 2012
(closes: 54)
Signed-off-by: Yannick Brosseau <yannick.brosseau at gmail.com>
---
tools/lttng-gen-tp | 57 +++++++++++++++++++++++++++++++---------------------
1 files changed, 34 insertions(+), 23 deletions(-)
diff --git a/tools/lttng-gen-tp b/tools/lttng-gen-tp
index 828bee6..03a85fc 100755
--- a/tools/lttng-gen-tp
+++ b/tools/lttng-gen-tp
@@ -207,6 +207,8 @@ def main(argv=None):
opts, args = getopt.gnu_getopt(argv[1:], "ho:a", ["help"])
except getopt.error, msg:
raise Usage(msg)
+ if len(args) == 0:
+ raise Usage("No template file given")
except Usage, err:
print >>sys.stderr, err.msg
@@ -256,28 +258,37 @@ def main(argv=None):
# process arguments
for arg in args:
- tpl = TemplateFile(arg)
- if doHeader:
- if headerFilename:
- curFilename = headerFilename
- else:
- curFilename = re.sub("\.tp$",".h",arg)
- doth = HeaderFile(curFilename, tpl)
- doth.write()
- if doCFile:
- if cFilename:
- curFilename = cFilename
- else:
- curFilename = re.sub("\.tp$",".c",arg)
- dotc = CFile(curFilename, tpl)
- dotc.write()
- if doObj:
- if objFilename:
- curFilename = objFilename
- else:
- curFilename = re.sub("\.tp$",".o",arg)
- dotobj = ObjFile(curFilename, tpl)
- dotobj.write()
-
+ tpl = None
+ try:
+ tpl = TemplateFile(arg)
+ except IOError as args:
+ print "Cannot read input file " + args.filename + " " + args.strerror
+ return -1
+ try:
+ if doHeader:
+ if headerFilename:
+ curFilename = headerFilename
+ else:
+ curFilename = re.sub("\.tp$",".h",arg)
+ doth = HeaderFile(curFilename, tpl)
+ doth.write()
+ if doCFile:
+ if cFilename:
+ curFilename = cFilename
+ else:
+ curFilename = re.sub("\.tp$",".c",arg)
+ dotc = CFile(curFilename, tpl)
+ dotc.write()
+ if doObj:
+ if objFilename:
+ curFilename = objFilename
+ else:
+ curFilename = re.sub("\.tp$",".o",arg)
+ dotobj = ObjFile(curFilename, tpl)
+ dotobj.write()
+ except IOError as args:
+ print "Cannot write output file " + args.filename + " " + args.strerror
+ return -1
+
if __name__ == "__main__":
sys.exit(main())
--
1.7.9.1
More information about the lttng-dev
mailing list