Какие проблемы могут возникнуть, если выбрасывать проверенное исключение как RuntimeException?

У меня есть кусок кода, который кодирует некоторые бизнес-данные в строке JSON:

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

Дело в том:

JSONException является проверенным исключением, ноЯ нея действительно знаю, как справиться с этим во время компиляции. Если JSONException действительно происходит, это 's, вероятно, ошибка в коде и должна быть обработана обычным "глобальный обработчик необработанных исключений " который уже там (например.этот), и который уже выполняет все необходимые записи и очистки.

Таким образом, я закончил делать это в вызывающем методе:

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

Это казалось меньшим злом, чем добавлениеthrows JSONException вкаждый метод до стека вызовов. Тем не менее, он все еще чувствует себя грязным, поэтому мой вопрос:

Если я хочу, чтобы какое-то конкретное проверенное исключение пошло "регулярный непроверенный маршрут исключенияправильно ли использовать его как RuntimeException?

Ответы на вопрос(6)

Ваш ответ на вопрос