我們在實際場景中很容易catch(Exception e) 簡單粗暴
這樣寫代碼有幾個問題
1.你無法細分具體異常 因為有時需要針對不同異常 產生不同的應對行為
2.直接exception 往往不會包含太多具體信息。
特別針對第二點 如果你要打印詳細信息 還是有一些注意點。
printStackTrace 打印的是調用棧的軌跡 。調用棧顯示了“把你帶到異常的地點" 支持選擇要輸出的流。
它打印的是 方法調用的源頭上下文
fillInStackTrace:用於在throwable內部記錄棧針狀態
有一種場景 比如 如調用h方法
fillInStackTrace 處理后
就能記錄調用的棧信息
不然打印效果和截圖的上面一樣 只能打印產生異常的源頭