2015-07-25 3 views
1

У меня есть метод, который нужно возвращать JSONObject:Android Java JSON Неизвестное исключение

public JSONObject getDayJson(Date date) { 
    ... 
    a few lines of code 
    ... 
    return new JSONObject(".."); 
} 

Однако это дает мне ошибку, как мне нужно, чтобы поймать любые исключения, которые могут возникнуть в результате инстанцирования JSONObject:

public JSONObject getDayJson(Date date) { 
    try { 
     ... 
     a few lines of code 
     ... 
     return new JSONObject(".."); 
    } catch (Exception e) { 
     // need a return statement here! 
    } 
} 

Это создает еще одну ошибку, как в блоке поймать я не возвращает правильный тип объекта, который является JSONObject. Если я создам экземпляр другого JSONObject в catch, мне нужно вложить другой оператор catch!

+1

или вы можете попросить метод объявить исключение как брошенное и оставить вызывающий объект обработкой его – njzk2

ответ

0

Вам следует лучше подумать, что вы хотите сделать, если произойдет исключение, но один из них - заставить конструктор вызывающих исключений.

public JSONObject getDayJson(Date date) { 
    try { 
     ... 
     a few lines of code 
     ... 
     return new JSONObject(".."); 
    } catch (Exception e) { 
     // doesn't throw another exception 
     return new JSONObject(new HashMap()); 
    } 

} 
Смежные вопросы