Java正流和负流异常处理

时间:2015-06-26 12:56:00

标签: java exception flow stoppropagation

我正在编写一个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;

1 个答案:

答案 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)
}