2015-06-26 7 views
0

Я пишу код Java для извлечения информации об объекте путем передачи идентификатора объекта. Мое дело будет таким: 1. Не обязательно, чтобы все идентификаторы объекта имели информацию, которая означает, что она возвращает null. 2. Но если идентификатор имеет информацию, я верну объект. Поэтому я делаю нулевую проверку здесь.Java Обработка положительных потоков и отрицательных потоков

Если я напишу условие else, которое выбрасывает исключение KalturaApiException, то это исключает исключение слова EntryId и не останавливает его выполнение. Моя проблема заключается в том, что он должен продолжаться с положительным потоком и должен регистрировать все идентификаторы без какой-либо информации. Как справиться с этим сценарием и как поймать это исключение. Пожалуйста, помогите мне решить это. Заранее спасибо.

try { 
entryInfo = getMedia(entry); 
          if (entryInfo != null) { 
//Here I am retrieving all the information from the object and setting to one more object. 
} 
}catch(KalturaApiException e){ 
e.getMessage(); 
} 

Внутри getMedia метод:

try { 
     entryInfo = mediaService.get(entryId); 
     if (entryInfo != null) { 
      return entryInfo; 
     } 
    } catch (KalturaApiException e) { 
     e.getMessage(); 
    } 
    return entryInfo; 
+1

, если вы готовы, чтобы справиться с нулевым результатом getMedia, почему вы бросаете исключение в getMedia? Если несуществующий носитель иногда является ошибкой, а иногда нет, имеет 2 вызова: тот, который возвращает null, например getMedia, и тот, который выдает, например getExistingMedia(). – Arkadiy

+0

Именно это на самом деле выдает ошибку об исключении, которое никогда не бросается в тело блока 'try' в первом фрагменте кода –

+0

Этот вопрос для меня не имеет большого смысла. –

ответ

0

Если я правильно Вас понял, mediaService.get также бросить KalturaApiException. Думаю, вам не о чем беспокоиться. Таким образом, внутри getMedia вы можете просто

return mediaService.get(entryId); 

null также объект и сделав null проверка другим способом. Исключение также будет найдено в вашем первом методе. (Не забудьте подписать getMedia(long id) throw KalturaApiException {...})

try { 
entryInfo = getMedia(entry); 
if (entryInfo != null) { 
// do something 
} 
}catch(KalturaApiException e){ 
e.getMessage(); //log information, it's better to use logger (log4j for example) 
} 
+0

Теперь я не обрабатываю исключение в методе getMedia. getMedia (Строка EntryID) \t \t \t бросает KalturaApiException { \t \t KalturaMediaService MediaService = client.getMediaService(); \t \t return mediaService.get (entryId); В первом методе я делаю null check, поэтому, когда его значение null будет собираться и выдавать сообщение. Но он не продолжит следующее выполнение с положительным сценарием для всех остальных идентификаторов, которые имеют информацию. У меня этот код внутри петля. для (String запись: mediaList) { \t \t \t \t \t \t \t если (! запись = NULL) { \t \t \t \t \t \t \t \t entryInfo = getMedia (вход); \t \t \t \t \t \t \t \t если (entryInfo! = NULL) { –

+0

Теперь я не обработки исключений в методе getMedia. getMedia (String entryId) бросает KalturaApiException {KalturaMediaService mediaService = client.getMediaService(); return mediaService.get (entryId); В первом методе я делаю null check, поэтому, когда его null, он собирается поймать и передать сообщение.Но это не продолжается с последующим исполнением с положительным сценарием для всех остальных идентификаторов, которые имеют информацию. У меня этот код внутри цикла. for (String entry: mediaList) {if (entry! = null) {entryInfo = getMedia (запись); if (entryInfo! = null) {- –

+0

Спасибо. Я решил это. Его работа прекрасна. –