java string io_删除cStringIO.StringIO的已使用部分

import os, sys

from cStringIO import StringIO

import traceback

old_stdErr = sys.stderr

sys.stderr = mystdErr = StringIO()

try:

p = 100/0

except Exception:

traceback.print_exc(file=sys.stderr)

print mystdErr.getvalue() ### -- 1st Print statement

try:

q = 100/0

except Exception:

traceback.print_exc(file = sys.stderr)

print mystdErr.getvalue() ### -- 2nd Print statement

这段代码..输出将是什么

第一个打印语句的输出

回溯(最近一次调用最后一次):文件“C:\ Users \ manojtut \ Desktop \ untitled-1.py”,第9行,p = 100/0 ZeroDivisionError:整数除法或模数为零

第二个打印语句的输出

回溯(最近一次调用最后一次):文件“C:\ Users \ manojtut \ Desktop \ untitled-1.py”,第9行,p = 100/0 ZeroDivisionError:整数除法或模数为零Traceback(最近一次调用最后一次) :文件“C:\ Users \ manojtut \ Desktop \ untitled-1.py”,第16行,q = 100/0 ZeroDivisionError:整数除法或模数为零

正如您所看到的,第一个zerodivision遇到的异常将在我不想要的第二个打印语句中再次打印 . 我可以以某种方式消除/清除第一个异常回溯,以便只能在第二个打印语句中打印第二个异常的回溯吗?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值