0
我正在使用Gson來處理Json響應。有時我會遇到異常,但不幸的是我沒有足夠的上下文來查明問題的確切位置。記錄通過InputStream的所有內容
的JsonReader創建如下:
private JsonReader getJsonReader(final HttpEntity entity) throws IOException {
final InputStreamReader reader = new InputStreamReader(entity.getContent(), StandardCharsets.UTF_8);
return new JsonReader(reader);
}
我的想法是繼承InputStreamReader
和記錄,通過它,爲了有更多的背景下,當一個異常被拋出去的一切。
有沒有更好的方法?
「更好」是一個非常模糊的術語。我認爲你的想法是合理的:實施應該相當容易;並且不需要對您的代碼庫進行任何「戲劇性」更改。 – GhostCat
這個例外通常應該包含足夠的上下文(傑克遜例外在這方面肯定從未讓我失望)。這將取決於我猜想的框架。子類化'InputStream'或者簡單地使用調試器應該能夠指出問題。 – john16384
1)'JsonReader.toString()'輸出當前的解析位置。這是一個好的背景嗎? 2)如果有必要,我會繼承'JsonReader',而不是'InputStreamReader':'JsonReader'通過設計剝離了多餘的令牌。 (假設一個漂亮打印/格式化的輸入流會記錄每個空格,而裝飾了'JsonReader'只會記錄JSON令牌)。 –