0
我知道throw
保留調用堆棧但throw ex
沒有。爲什麼我應該拋出一個像throw ex這樣的異常?
顯然,我們發現還是我們看到許多使用案例
`throw`
`throw new exception("custom Message", ex)`
現在,我的錯誤是,如果throw ex
不保留堆棧跟蹤,我爲什麼要使用?
任何有理由使用throw ex
聲明的實際情況?
我知道throw
保留調用堆棧但throw ex
沒有。爲什麼我應該拋出一個像throw ex這樣的異常?
顯然,我們發現還是我們看到許多使用案例
`throw`
`throw new exception("custom Message", ex)`
現在,我的錯誤是,如果throw ex
不保留堆棧跟蹤,我爲什麼要使用?
任何有理由使用throw ex
聲明的實際情況?
因爲您不希望暴露這個throw之下的堆棧跟蹤,因爲它已被其他地方記錄或者不需要調試處理異常。我甚至可以想象在暴露不需要邏輯的偏執狂中。 (在這種情況下,我希望看到一個自定義的異常/自定義拋出,而不是拋出,雖然)
雖然經常 - 雖然它往往似乎是因爲程序員不知道副作用扔掉
+1。答案'清脆。謝謝。 –