小寒的blog
Programming is a darned hard thing—but I am going to like it.
     如果捕获到一个异常,到底是如何重新抛出。
 catch (Exception e) { throw; } 还是 catch (Exception e) { throw e; }

throw;会保留原始的异常栈信息。这样方便调试很容易找到出错的行号
throw e 会虽然异常信息都保留了,但是会修改异常堆栈信息,throw e那个行就会成为出错的行.而不是你try里面调用的代码时候实际的出错行了。
so,一般情况下重新抛出异常应该使用throw;.
什么时候使用throw e呢?
似乎只有在你想抛出一个新的异常才用。
谁能说清楚,请指点下吧?
posted on 2009-07-29 10:37  xhan  阅读(1586)  评论(1编辑  收藏  举报