基于异常的实例返回

时间:2018-04-10 10:09:19

标签: java exception return

我有一个任务是返回一个基于布尔的异常实例

如果异常是ConnectTimeoutException的实例,则返回true,或者如果异常实例是SocketTimeoutException,则返回true。

我已经编写了代码,这是正确的方法吗?

(注意:我必须在return语句中检查它,而不是在if语句中。)

代码:

public boolean canRetry(RetryContext context) {

        Throwable exception = context.getLastThrowable();
        ......
        ......
        ......
        ......
        ......
        // Some Code
        return (exception instanceof ConnectTimeoutException || exception instanceof SocketTimeoutException);


    }

1 个答案:

答案 0 :(得分:1)

如果exception是其中任何一个类的实例,那么你当前完成它的方式会返回一个布尔值true,否则会返回一个布尔值false。你正在寻找这样的东西:

if(exception instanceof ConnectTimeoutException || exception instanceof SocketTimeoutException){
    return exception;
}