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()