0
鏈式異常在知道底層原因有用的情況下非常有用。 Throwable getCause()方法返回當前異常下的異常。另一方面,如果我們在catch塊中調用PrintStackTrace(),我們將在記錄器文件(和eclipse控制檯)中打印整個日誌。詳細的日誌將顯示發生的異常,以及基礎的異常鏈。鏈式異常與PrintStackTrace相關
那麼,它們在使用上的主要區別是什麼?
鏈式異常在知道底層原因有用的情況下非常有用。 Throwable getCause()方法返回當前異常下的異常。另一方面,如果我們在catch塊中調用PrintStackTrace(),我們將在記錄器文件(和eclipse控制檯)中打印整個日誌。詳細的日誌將顯示發生的異常,以及基礎的異常鏈。鏈式異常與PrintStackTrace相關
那麼,它們在使用上的主要區別是什麼?
一種方法是提供調試信息(PrintStackTrace)。另一種方法是實際流量控制(Throwable.getCause())。
(通常)底層原因被視爲實現細節,因此不應用於流量控制。將您需要的信息添加到主例外或爲例外創建多種類型。
我使用堆棧跟蹤給我一個找到問題的出發點。如果我找不到它,我會使用例外打印出詳細信息。仍然不會發現什麼是錯的 – MNM