我正在编写一个Java代码,通过传递对象id来获取对象信息。我的情况是这样的: 1.并非所有对象ID都必须具有返回null的信息。 但是如果ID有信息,那么我将返回该对象。所以我在这里做空检查。
如果我写了一个抛出KalturaApiException的else条件,那么它会抛出一个异常,说找不到EntryId并在那里停止执行。我的问题是它应该继续正向流程并且应该记录所有没有信息的ID。如何处理此方案以及如何捕获此异常。请帮我解决这个问题。提前谢谢。
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;
答案 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)
}