Is there a way to teach Python (3.x) to show the whole stack trace of an exception? Example:
def foo(n):
    try:
        1/n
    except Exception as x:
        return x
    else:
        return foo(n-1)
def bar(x):
    raise x
bar(foo(3))
emits
Traceback (most recent call last):
  File "/tmp/test.py", line 17, in <module>
    bar(foo(3))
  File "/tmp/test.py", line 15, in bar
    raise x
  File "/tmp/test.py", line 7, in foo
    1/n
ZeroDivisionError: division by zero
Unfortunately the call context of foo() is suppressed. Adding traceback.print_stack(x.__traceback__.tb_frame) to bar() prints
  File "/tmp/test.py", line 18, in <module>
    bar(foo(3))
  File "/tmp/test.py", line 13, in foo
    return foo(n-1)
  File "/tmp/test.py", line 13, in foo
    return foo(n-1)
  File "/tmp/test.py", line 13, in foo
    return foo(n-1)
  File "/tmp/test.py", line 5, in foo
    return x
which demonstrates that the information isn't lost. I'd like to convince Python to include these lines when it prints the error.
