daved170 wrote: > I need help with exceptions raising. > My goal is to print at the outer functions all the errors including > the most inner one. > > For example: > > def foo1(self): > try: > foo2() > except ? : > print "outer Err at foo1" + ?? > > def foo2(self): > try: > error occured > except ? : > raise "inner Err at foo2" > > > the ? remarks that I have no idea what to use. > > I would like the print to be : outer Err at foo1 , inner Err at foo1
Take a look at the builtin debugger facility, i.e. 'import pdb'. There, you have a traceback module which might already give you what you want. One more advise though: Do not catch exceptions you don't handle! Make sure they can pass through your code without hurting anything and then catch and log them in a place where you actually can handle them. In particular, don't wrap each and every tiny morsel of code into try/except handlers as you would (have to) do if you were using return values. Uli -- Sator Laser GmbH Geschäftsführer: Thorsten Föcking, Amtsgericht Hamburg HR B62 932 -- http://mail.python.org/mailman/listinfo/python-list