throw; 还是throw e

     如果捕获到一个异常,到底是如何重新抛出。
 catch (Exception e) { throw; } 还是 catch (Exception e) { throw e; }

throw;会保留原始的异常栈信息。这样方便调试很容易找到出错的行号
throw e 会虽然异常信息都保留了,但是会修改异常堆栈信息,throw e那个行就会成为出错的行.而不是你try里面调用的代码时候实际的出错行了。
so,一般情况下重新抛出异常应该使用throw;.
什么时候使用throw e呢?
似乎只有在你想抛出一个新的异常才用。
谁能说清楚,请指点下吧?

转载于:https://www.cnblogs.com/xhan/archive/2009/07/29/1533816.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值