博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2011年10月12日

摘要: 当我们抛出一个异常时, CLR会重新设置一个异常起始点。 CLR只记录最近一次异常抛出的位置。下面代码抛出一个异常,从而导致CLR重新设置该异常的起始点:void SomeMethod(){ try {....} catch(Exception e) { ... throw e; //CLR认为这里是异常的起始点 }}相反,如果我们抛出一个异常对象, CLR将不会重新设置其堆栈的起始点,下面代码抛出一个异常,但不会导致CLR重新设置异常的起始点:void SomeMethod(){ try {....} catch(Exception e) { ... throw; ... 阅读全文

posted @ 2011-10-12 22:10 低调地享受 阅读(4585) 评论(1) 推荐(0) 编辑