IOException возвращает ноль для получения сообщения

try {
    fis = context.openFileInput("Stores");
    ObjectInputStream oi = new ObjectInputStream(fis);
    toReturn = (ArrayList<Store>) oi.readObject();
    oi.close();
} catch (FileNotFoundException e) {
    Log.e("InternalStorage", e.getMessage());
} catch (IOException e) {
    Log.e("InternalStorage", e.getMessage());
} catch (ClassNotFoundException e) {
    e.printStackTrace();
}

У меня есть крашлог в области IOException, говоря

java.lang.NullPointerException: println needs a message

Почему это случилось?

1 ответ

Решение

Потому что IOException всегда возвращает ноль, когда вы вызываете e.getMessage(). Попробуйте зарегистрировать что-нибудь еще, когда возникнет это исключение.

Например:

    StackTraceElement[] stackTraceElements = e2.getStackTrace();
    String logMessage = "IOException occured in method "
            + stackTraceElements[0].getMethodName() + " - File name is "
            + stackTraceElements[0].getFileName()
            + " - At line number: "
            + stackTraceElements[0].getLineNumber();
    Log.e("InternalStorage", e.getMessage());
Другие вопросы по тегам