NullPointerException (etc) z Parcel.readException

Wyjątki, które tak wyglądają, są mylące:

FATAL EXCEPTION: main
java.lang.NullPointerException
    at android.os.Parcel.readException(Parcel.java:1437)
    at android.os.Parcel.readException(Parcel.java:1385)
    at com.yourpackage.ipc.IYourClass$Stub$Proxy.yourMethod(IYourClass.java:488)
    at com.yourpackage.ipc.YourClassShim.yourMethod(YourClassShim.java:269)

Znalazłem kilka związanych z tym pytań, ale żadna nie zawierała odpowiedzi na pytanie „jak to debugować”. Więc robię to pytanie / odpowiedź.

Patrząc na źródło androidatutaj itutaj zobaczysz, że może rzucać dowolne z nich (wyjątek NullPointerException jest właśnie tym, co miałem):

SecurityException(msg);
BadParcelableException(msg);
IllegalArgumentException(msg);
NullPointerException(msg);
IllegalStateException(msg);
RuntimeException("Unknown exception code: " + code + " msg " + msg);

Ale co ich powoduje?

questionAnswers(2)

yourAnswerToTheQuestion