def robust(func): """ 异常追踪装饰器 :param func: :return: """ def add_robust(*args, **kwargs): try: previous_frame = inspect.currentframe().f_back caller_filename, caller_line_number, caller_function_name, caller_lines, caller_index = inspect.getframeinfo( previous_frame) LOG_DEBUG('caller_filename: {}, caller_line_number: {}, caller_function_name: {}'.format(caller_filename, caller_line_number, caller_function_name)) return func(*args, **kwargs) except Exception: LOG_ERROR('Error execute func:{}'.format(func.__name__)) traceback.print_exc() return add_robust
try: i = int('a') except Exception, e: print 'str(Exception): ', str(Exception) print 'str(e): ', str(e) print 'repr(e): ', repr(e) print 'e.message: ', e.message print 'traceback.print_exc():'; traceback.print_exc() print 'traceback.format_exc(): %s' % traceback.format_exc()