Add traceback.format_exc().
diff --git a/Lib/traceback.py b/Lib/traceback.py
index 4910a37..d99009b 100644
--- a/Lib/traceback.py
+++ b/Lib/traceback.py
@@ -6,8 +6,8 @@
 
 __all__ = ['extract_stack', 'extract_tb', 'format_exception',
            'format_exception_only', 'format_list', 'format_stack',
-           'format_tb', 'print_exc', 'print_exception', 'print_last',
-           'print_stack', 'print_tb', 'tb_lineno']
+           'format_tb', 'print_exc', 'format_exc', 'print_exception',
+           'print_last', 'print_stack', 'print_tb', 'tb_lineno']
 
 def _print(file, str='', terminator='\n'):
     file.write(str+terminator)
@@ -211,6 +211,16 @@
     finally:
         etype = value = tb = None
 
+
+def format_exc(limit=None):
+    """Like print_exc() but return a string."""
+    try:
+        etype, value, tb = sys.exc_info()
+        return ''.join(format_exception(etype, value, tb, limit))
+    finally:
+        etype = value = tb = None
+    
+
 def print_last(limit=None, file=None):
     """This is a shorthand for 'print_exception(sys.last_type,
     sys.last_value, sys.last_traceback, limit, file)'."""