Welche Probleme können auftreten, wenn eine aktivierte Ausnahme als RuntimeException ausgelöst wird?

Ich habe einen Code, der Geschäftsdaten in einer JSON-Zeichenfolge codiert:

public String encodeDataAsJsonString(Data data) throws JSONException {
    JSONObject o = new JSONObject();
    o.put("SomeField1", data.getSomeProperty1());
    o.put("SomeField2", data.getSomeProperty2());
    ...
    return o;
}

Die Sache ist:

JSONException ist eine aktivierte Ausnahme, aberIch weiß nicht wirklich, wie ich damit umgehen soll. Wenn eine JSONException wirklich auftritt, handelt es sich wahrscheinlich um einen Fehler im Code, der vom regulären "global uncaught exception handler" behandelt werden sollte.das ist schon da (z.B.diese), und der bereits alle erforderlichen Protokollierungen und Bereinigungen vornimmt.

So endete ich dies in der aufrufenden Methode:

...
try {
    encoded = encodeDataAsJsonString(data);
} catch (JSONException e) {
    throw new RuntimeException(e);
}
...

Es schien ein kleineres Übel als das Hinzufügen einesthrows JSONException zujeden Methode den Aufruf-Stack auf. Es fühlt sich jedoch immer noch schmutzig an, daher meine Frage:

Wenn ich möchte, dass eine bestimmte aktivierte Ausnahme die "normale ungeprüfte Ausnahmeroute" einnimmt, wird sie dann erneut als RuntimeException ausgeworfen, um die richtige ID zu verwenden?

Antworten auf die Frage(6)

Ihre Antwort auf die Frage