1. throw;直接拋出異常,會保留原始異常點信息;
2. throw ex;會吞掉原始異常點信息(將到現在為止的異常信息清空,認為你catch到的異常已經被處理了,只不過處理過程中又拋出新的異常,從而找不到真正的錯誤源),重置堆棧中的異常起始點。
3. throw new Exception("異常描述",ex); 包裝一個異常,把內部異常Exception也拋出來,這樣拋出的異常是最全面詳細的異常。經過對異常重新包裝,但是會保留原始異常點信息
引用自:http://www.manongjc.com/detail/18-zeozuyvenbpvvpa.html