Hi all, Is it possible to raise exception with custom traceback to specify file and line?
Situation ========= I'm creating a certain parser. I want to report syntax error with the same format as other exception. Example ======= parser.py: ------------------------- 1: def parse(filename): 2: if something_is_wrong(): 3: linenum = 123 4: raise Exception("syntax error on %s, line %s" % (filename, linenum)) 5: 6: parse('example.file') ------------------------- current result: ------------------------- Traceback (most recent call last): File "/tmp/parser.py", line 6, in <module> parse('example.file') File "/tmp/parser.py", line 4, in parse raise Exception("syntax error on %s, line %s" % (filename, linenum)) Exception: syntax error on example.file, line 123 ------------------------- my hope is: ------------------------- Traceback (most recent call last): File "/tmp/parser.py", line 6, in <module> parse('example.file') File "/tmp/parser.py", line 4, in parse raise Exception("syntax error on %s, line %s" % (filename, linenum)) File "/tmp/example.file", line 123 foreach item in items # wrong syntax line Exception: syntax error ------------------------- I guess I must create dummy traceback data, but I don't know how to do it. Could you give me an advice? Thank you. -- regards, makoto kuwata -- http://mail.python.org/mailman/listinfo/python-list