Я стою перед дилеммой.
Проблема в том, что когда инициализация любой из этих переменных вызывает исключение nullpointerexception, весь цикл try catch останавливается / прерывается, а все другие / следующие переменные внутри и вне функции и других функций никогда не затрагиваются.
Как можно без написания 10 операторов try catch, без необходимости писать много избыточного кода в целом?, напишите простую "вещь", которая принимает переменную, которая вызывает исключение nullpointerexception, и просто устанавливает для переменной значение null?
Псевдо-код Java:
Class object123;
Class objectabc;
...
Constructor () {
object123 = new Class Name()
objectabc = new Class Name()
...
}
try {
function123()
functionabc()
...
}
catch JSONException {
Log.i("Exception logcat", "I hate kotlin & Java and I hate exception-handling")
}
function123() {
object123.specificvar = json_arrays_and_objects.specificvar
}
functionabc() {
objectabc.specificvar = json_arrays_and_objects.specificvar
}
...
Люди I hate kotlin & Java and I hate exception-handling зарабатывают на жизнь, используя и развивая эти технологии, писать это довольно неуважительно, кроме того, это действительно совершенно неуместно и действительно не добавляет ценности вашему вопросу
Похоже, у вас XY проблема.
Также обратите внимание, что конструкция «try catch» не является циклом, это просто блок. Если вы хотите перехватывать исключения для каждой функции в блоке отдельно, вам понадобится отдельный try-catch для каждой из них. Но в идеале такая обработка значений по умолчанию должна происходить внутри функций, а не снаружи.
@Hulk Я думал то же самое, но на самом деле студия Android говорит, добавляя оператор continue к блоку catch -> «вне цикла». Возможно, я неправильно понял это, но это не имеет значения для вопроса. Ответ на ответ ниже: Спасибо за информацию. Я удалю "петлю" из вопроса.
У вас нет цикла, поэтому размещение continue в любом месте этого кода всегда "вне цикла". continue работает только в циклах (т.е. for, while).
На более подробном примере я мог бы быть более полезным. Лучше всего проверить свой json_arrays_and_objects на наличие нуля в ваших функциях: object123.specificvar = json_arrays_and_objects==null?null:json_arrays_and_objects.specificvar;
@Madlemon, тогда мне пришлось бы проделать это дюжину раз. Если мы пойдем по этому пути, я бы НАМНОГО лучше написал 10 операторов try catch.




Откуда взялся
http_Response_var_array?